小编Aks*_*ngh的帖子

如何从Swagger API声明生成JSON-Schema

我使用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(但我很乐意找到任何东西).

jsonschema swagger

67
推荐指数
3
解决办法
6万
查看次数

在Django Rest Framework中找不到资源时返回自定义404错误

我正在学习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)

如果合适,请使用正确的代码段建议一些答案.

python django rest django-rest-framework

10
推荐指数
2
解决办法
5714
查看次数

无法启动jupyter

当我尝试运行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)

ipython jupyter jupyter-notebook

5
推荐指数
2
解决办法
1463
查看次数

使用节点库的dialogflow v2的DetectIntent() api延迟太高

我正在尝试使用节点库调用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)

javascript node.js dialogflow-es

5
推荐指数
0
解决办法
925
查看次数

Apache Spark中的大型RDD [MatrixEntry]超出了GC开销限制

我有一个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)

garbage-collection scala apache-spark

2
推荐指数
1
解决办法
8780
查看次数

DRF 序列化程序中多个查找字段的自定义超链接 URL 字段

我正在使用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

1
推荐指数
1
解决办法
4258
查看次数