我使用Swagger v 1.2获得服务的Swagger API声明
我对Swagger的原始感觉是,它非常接近JSON Schema(草案3和最近草案4),并且为请求和响应对象生成JSON Schema相对容易.
然而,虽然Swagger的一部分重用了JSON Schema结构,但事实证明,它只使用了功能的子集,并且它还在模型中引入了它自己的继承(使用subTypes和discriminator).
问题:是否有任何现有项目或代码片段可以从Swagger API声明生成可用的JSON模式?
最佳JSON Schema Draft 4并使用Python(但我很乐意找到任何东西).
我正在学习Django Rest Framework,也是django的新手.我想404在客户端访问未找到的资源时在json中返回自定义错误.
我urls.py看起来很喜欢这个:
urlpatterns = [
url(r'^mailer/$', views.Mailer.as_view(), name='send-email-to-admin')
]
Run Code Online (Sandbox Code Playgroud)
其中我只有一个资源,可以通过URI访问,http:// localhost:8000/mailer /
现在,当客户端访问任何其他URI,如http:// localhost:8000 /时,API应该返回如下404-Not Found错误:
{
"status_code" : 404
"error" : "The resource was not found"
}
Run Code Online (Sandbox Code Playgroud)
如果合适,请使用正确的代码段建议一些答案.
当我尝试运行jupyter时它会显示错误: -
错误:无法启动笔记本服务器,因为找不到可用的端口.
终端日志如下: -
[I 20:52:08.747 NotebookApp] The port 8888 is already in use, trying another random port.
[I 20:52:08.748 NotebookApp] The port 8889 is already in use, trying another random port.
[I 20:52:08.748 NotebookApp] The port 8890 is already in use, trying another random port.
[I 20:52:08.749 NotebookApp] The port 8891 is already in use, trying another random port.
[I 20:52:08.750 NotebookApp] The port 8892 is already in use, trying another random port.
[I 20:52:08.750 NotebookApp] The port …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用节点库调用dialogflow v2 api的DetectIntent()。但是,我的响应延迟平均为 1.5 秒,与速度太快的 v1 api 相比,这太高了。这正在影响聊天机器人的用户体验。库:- https://github.com/dialogflow/dialogflow-nodejs-client-v2
用于测试 Node 库的detectorIntent() api 的代码片段采用了库的入门示例,并记录了 api 响应时间。
// You can find your project ID in your Dialogflow agent settings
const projectId = '<project-id-here>';
const sessionId = 'fa2d5904-a751-40e0-a878-d622fa8d65d9';
const query = 'hi';
const languageCode = 'en-US';
const credentials = {
client_email: '<client-email-here>',
private_key:
'<private-key-here>',
};
// Instantiate a DialogFlow client.
const dialogflow = require('dialogflow');
const sessionClient = new dialogflow.SessionsClient({
projectId,
credentials,
});
// Define session path
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// …Run Code Online (Sandbox Code Playgroud)我有一个csv文件存储了维度的用户项数据6,365x214,我通过使用columnSimilarities()来找到用户 - 用户的相似性org.apache.spark.mllib.linalg.distributed.CoordinateMatrix.
我的代码看起来像这样:
import org.apache.spark.mllib.linalg.{Vector, Vectors}
import org.apache.spark.mllib.linalg.distributed.{RowMatrix,
MatrixEntry, CoordinateMatrix}
import org.apache.spark.rdd.RDD
def rddToCoordinateMatrix(input_rdd: RDD[String]) : CoordinateMatrix = {
// Convert RDD[String] to RDD[Tuple3]
val coo_matrix_input: RDD[Tuple3[Long,Long,Double]] = input_rdd.map(
line => line.split(',').toList
).map{
e => (e(0).toLong, e(1).toLong, e(2).toDouble)
}
// Convert RDD[Tuple3] to RDD[MatrixEntry]
val coo_matrix_matrixEntry: RDD[MatrixEntry] = coo_matrix_input.map(e => MatrixEntry(e._1, e._2, e._3))
// Convert RDD[MatrixEntry] to CoordinateMatrix
val coo_matrix: CoordinateMatrix = new CoordinateMatrix(coo_matrix_matrixEntry)
return coo_matrix
}
// Read CSV File to RDD[String] …Run Code Online (Sandbox Code Playgroud) 我正在使用Django Rest Framework为我的项目开发 web api。在我的项目中,我需要像这样构建嵌套的 api 端点:
/users/ - to get all users
/users/<user_pk> - to get details of a particular user
/users/<user_pk>/mails/ - to get all mails sent by a user
/users/<user_pk>/mails/<pk> - to get details of a mail sent by a user
Run Code Online (Sandbox Code Playgroud)
所以,我使用drf-nested-routers来方便编写和维护这些嵌套资源。
我希望我所有端点的输出都有超链接,用于获取每个嵌套资源的详细信息以及其他详细信息,如下所示:
[
{
"url" : "http://localhost:8000/users/1",
"first_name" : "Name1",
"last_name": "Lastname"
"email" : "name1@xyz.com",
"mails": [
{
"url": "http://localhost:8000/users/1/mails/1",
"extra_data": "This is a extra data",
"mail":{
"url": "http://localhost:8000/mails/3"
"to" : "abc@xyz.com", …Run Code Online (Sandbox Code Playgroud) python django serialization django-rest-framework drf-nested-routers
django ×2
python ×2
apache-spark ×1
ipython ×1
javascript ×1
jsonschema ×1
jupyter ×1
node.js ×1
rest ×1
scala ×1
swagger ×1