标签: swagger-editor

在数组字段请求上添加模型架构捕获元素

我正在为REST API做一个适配器.我已经将模型架构用于POST和PUT方法的主体.@RequestBody Model1 requestBody在适配器.

现在,我遇到body了需要数组的字段.

Swagger UI 正文输入

时间1)在Swagger负载上,模型启动:

{
    "field1"         : "",
    "field2Optional" : "",
    "fieldArray"     : [
        { "field2a"                  :  "input2a" }
    ]

}
Run Code Online (Sandbox Code Playgroud)

时间2)用户编辑:

{
    "field1"         : "input1",
    "field2Optional" : "",
    "fieldArray"     : [
        { "field2"        :  "input2a" },
        { "field2"        :  "input2b-userAddition " }
    ]
}
Run Code Online (Sandbox Code Playgroud)

Model1.groovy

@XmlElement
String field1 = ''

@XmlElement
String fieldOptional = ''

@XmlElement
ArrayList<Model2> fieldArray = new ArrayList<>( Arrays.asList(new Model2()) ).get(0)

}
Run Code Online (Sandbox Code Playgroud)

Model2.groovy …

annotations swagger swagger-ui swagger-2.0 swagger-editor

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

生成客户端代码时可以更改包名称

我正在使用Swagger Edtior为API生成客户端scala代码.我粘贴了json然后做了一个Generate Client/Scala.它给了我一个默认的root包

io.swagger.client

我看不出任何明显的方法来指定不同的东西.可以这样做吗?

scala swagger-editor

9
推荐指数
2
解决办法
5495
查看次数

昂首阔步:用ref添加描述

我想向引用其定义的对象属性添加描述。像这样:

      newCreditCard:
        type: object
        properties:
          billingPhone:
            description: Phone number of the card holder
            $ref: "#/definitions/PhoneNumber"
Run Code Online (Sandbox Code Playgroud)

但是编辑器警告说description属性将被跳过:

Extra JSON Reference properties will be ignored: description
Run Code Online (Sandbox Code Playgroud)

我发现了一种不太优雅的解决方法,该方法适用于编辑器,但不适用于Swagger UI(不确定这可能是由于Swagger UI的3.0.2版本最近进行了更新)

      newCreditCard:
        type: object
        properties:
          billingPhone:
            description: Phone number of the card holder
            allOf:
            - $ref: "#/definitions/PhoneNumber"
Run Code Online (Sandbox Code Playgroud)

您如何在Swaggers规范中做到这一点?

谢谢您的帮助!

swagger swagger-ui swagger-editor

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

如何在OpenAPI(Swagger)中记录动态查询参数名称?

有没有办法记录以下查询?

GET api/v1/users?name1=value1&name2=value
Run Code Online (Sandbox Code Playgroud)

其中查询参数名称是动态的,将从客户端接收.

我正在使用最新的Swagger API.

swagger swagger-editor openapi swagger-codegen

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

开放 API 3 - 在响应中的单个内容类型上添加标头

我的规范有一个带有 200 响应代码的路径,该响应代码可以访问多个内容类型,我想将 Content-Disposition 标头添加到这些内容类型之一。

这是一个示例:

openapi: '3.0.3'
info:
...
servers:
  ...
paths:          
  /examples:
    ...
    get:
      ...
      responses:
        '200':
          content:
            application/json:
              ...
            application/pdf:
              encoding:
                file:
                  headers:
                    Content-Disposition:
                      schema:
                        type: string
                        example: attachment; filename="name.pdf"
              examples:
                file:
                  summary: File
                  externalValue: https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
Run Code Online (Sandbox Code Playgroud)

这是生成的视图:

无标题

这是添加标头的示例(对于另一个端点)

responses:
  '201':
    description: Success
    headers:
      Location:
        schema:
          type: string
          format: uri
        description: The URI to the newly created example
Run Code Online (Sandbox Code Playgroud)

这是生成的视图:

带标题

难道我做错了什么?

swagger-editor openapi

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

swagger生成Nodejs:错误:请求实体太大

生成Nodejs代码使用editor.swagger和在体内我想发送10mb但无法发送,我收到此错误:

Error: request entity too large
    at makeError (c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\node_modules\body-parser\node_modules\raw-body\index.js:154:15)
    at readStream (c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\node_modules\body-parser\node_modules\raw-body\index.js:188:15)
    at getRawBody (c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\node_modules\body-parser\node_modules\raw-body\index.js:95:12)
    at read (c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\node_modules\body-parser\lib\read.js:64:3)
    at jsonParser (c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\node_modules\body-parser\lib\types\json.js:116:5)
    at c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\middleware\swagger-metadata.js:72:9
    at urlencodedParser (c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\node_modules\body-parser\lib\types\urlencoded.js:91:37)
    at bodyParser (c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\middleware\swagger-metadata.js:68:5)
    at c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\middleware\swagger-metadata.js:258:5
    at c:\apigee\dojo\nodeServer_2\node\node_modules\swagger-tools\node_modules\async\lib\async.js:356:13
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个选项但仍然是同样的错误.以下是index.js的示例代码:

swaggerTools.initializeMiddleware(swaggerDoc, function (middleware) {
  // Interpret Swagger resources and attach metadata to request - must be first in swagger-tools middleware chain
     app.use(middleware.swaggerMetadata());
  /*app.use(middleware.swaggerMetadata(
      bodyParser.json({limit: "50mb"}),
      bodyParser.urlencoded({ limit: "50mb", extended: true })
  )
  );*/

  // Validate Swagger requests
  app.use(middleware.swaggerValidator());

  // Route validated requests to appropriate controller
  app.use(middleware.swaggerRouter(options)); …
Run Code Online (Sandbox Code Playgroud)

node.js swagger-2.0 swagger-editor

8
推荐指数
2
解决办法
1210
查看次数

如何从vert.x打开Swagger-ui

我想在Vert.X应用程序中实现Swagger-UI.我列出了所有路线,我希望在SpringBoot中像swagger-ui一样看到它们.我也在swagger-editor中手动编辑它们.那么,如何从vert.x app打开localhost:8080/swagger-ui.html并在那里查看所有路由器.

我读到我需要从swagger-editor中保存json并将其放在src/resources中.那之后呢?

我也在这里发现了一个很棒的东西:https://github.com/phiz71/vertx-swaggerhttp://vertx.io/blog/presentation-of-the-vert-x-swagger-project/

但是如何实现呢?

swagger vert.x swagger-ui swagger-editor swagger-codegen

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

昂首阔步。如何正确定义文件下载操作

我将在线Swagger编辑器与OpenAPI 3.0结合使用,并且必须创建一个定义文件文件下载。我在服务器端进行开发,客户应该能够使用YAML描述来创建客户端,而无需我的“附加说明”。YAML的相关部分是:

/files/download/{fileName}:
get:
  summary: download file
  operationId: downloadFile
  description: this API is for file download
  parameters:
    - in: path
      name: fileName
      schema:
        type: string
      required: true
      description: The name of file to download
  responses:
    200:
      description: Operation performed successfully.
      content:
        application/octet-stream:
          schema:
            type: string
            format: binary
   ...
Run Code Online (Sandbox Code Playgroud)

问题是:

  • 内容。当前,它被定义为八位字节流,这是最常见的类型,但是实际上,它取决于一些预定义的文件类型集中的文件类型。有什么方法可以定义这种映射(文件类型/内容类型)并将其与内容标签一起使用吗?

  • 响应标头应包含键/值对附件或内联和文件名。文件名在路径-{fileName}中定义。有什么方法可以描述枚举{attachment,inline}和fileName值的串联吗?

swagger swagger-editor swagger-codegen

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

如何在 OpenAPI 3.0 中定义具有两个可选参数的路径?

我在 SwaggerHub 注册并使用 OpenAPI 3.0 创建了一个新的 API。在我的 API 中,/tasks路径有 2 个非必需参数,但我无法将它们设置为非必需 - 编辑器显示“不允许的值”错误。

这是我的 API 定义:

openapi: 3.0.0
info:
  description: A Simple IP Address API
  title: VTasks
  version: v1
servers:
# Added by API Auto Mocking Plugin
  - description: SwaggerHub API Auto Mocking
    url: https://virtserver.swaggerhub.com/petrogromovo/Vtasks/1.0.0
  - description: SwaggerHub API Auto Mocking
    url: http://hosting.tk

paths:

  /tasks:
    get:
      tags:
        - tasks
      summary: Get paginated / filtered tasks listing
      operationId: tasks
      parameters:
        - name: page
          in: path
          description: The page number …
Run Code Online (Sandbox Code Playgroud)

swagger-editor openapi

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

如何修复 Swagger 编辑器中的“路径参数...必须在 /path 中具有相应的 {...} 段”错误?

我正在尝试为 Webcase Create 会议创建 OpenAPI 定义。这是我的 YAML 代码:

openapi: '3.0.0'
info:
  title: WebcastCreateMeeting
  version: "1.1"
servers:
  - url: https://api.webcasts.com/api
paths:
  '/event/create':
    post:
      tags:
       - CreateMeetingCallbody
      summary: EventGM
      parameters:  
        - in: path
          name: event_title                        # >> line 15
          description: name of the event from Cvent
          required: true
          schema:
            type: string
      responses:
        200:
          description: This would be the response.
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  properties:
                    scheduled_duration:
                      type: integer
                      example: 30
                    event_id:
                      type: integer
                      example: 0000000
                    event_title:
                     type: string
                     example: Cvent Testing …
Run Code Online (Sandbox Code Playgroud)

swagger swagger-editor openapi

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