rest - 在 swagger API 中指定一个字符串数组作为 body 参数

标签 rest swagger swagger-2.0

我想发布一个字符串数组,如

[
  "id1",
  "id2"
]

到基于 Swagger 的 API。在我的 swagger 文件中,我有以下几行:
paths:
  /some_url:
    post:
      parameters:
        - name: ids
          in: body
          required: true

指定 ids 类型的正确方法是什么?作为字符串数组?

更新:

根据规范,以下应该在我的选择中起作用:
  parameters:
    - in: body
      description: xxx
      required: true
      schema:
        type: array
        items:
          type: string

https://github.com/Yelp/swagger_spec_validator不接受它并返回一长串令人费解的错误,看起来代码需要一些 $ref .

最佳答案

你对字符串数组的描述是正确的,但参数定义漏掉了name属性有效。

这是一个完整的工作示例:

swagger: "2.0"

info:
  title: A dummy title
  version: 1.0.0

paths:
  /path:
    post:
      parameters:
        - in: body
          description: xxx
          required: true
          name: a name
          schema:
            type: array
            items:
              type: string
      responses:
        default:
          description: OK

尝试使用在线编辑器检查您的 OpenAPI (fka. Swagger) 规范:http://editor.swagger.io/

关于rest - 在 swagger API 中指定一个字符串数组作为 body 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39281532/

相关文章:

c# - 自定义 Swagger UI ASP.NET Core Web API

javascript - 带参数的 Angular 工厂如何工作

python - Flask Rest API 没有看到更新的表?

java - 泽西接收文件列表

rest - 使用Swagger将数组指定为参数

具有单个端点的多个响应的 RESTful 设计

java - 使用 Swagger 注释显示自定义 HashMap 键

rest - 内部错误 (500) 是否应该成为 Swagger API 文档的一部分?

spring-boot - 如何更改 swagger-ui.html 默认路径

django - 使用 django rest 框架代替 django orm 的最佳方式