Swagger / OpenAPI规范URL查询参数中的对象数组

时间:2017-09-01 16:13:12

标签: swagger openapi

假设我有一个路径为?filter[id]=1&filter[name]=bob&order[][name]=asc&order[][age]=desc

的网址

如何将此转换为swagger文档,特别是对象和数组数组作为查询参数。

1 个答案:

答案 0 :(得分:0)

您的示例不是对象的数组,而是两个单独的对象参数-filterorder[],每个参数均使用deepObject样式进行序列化(在OpenAPI中受支持) 3.0)。您可以将这些参数描述如下:

openapi: 3.0.2
...

paths:
  /something:
    get:
      # ?filter[id]=1&filter[name]=bob&order[][name]=asc&order[][age]=desc
      parameters:
        - in: query
          name: filter
          schema:
            type: object
            properties:
              id:
                type: integer
                example: 1
              name:
                type: string
                example: bob
          style: deepObject

        - in: query
          name: order[]
          schema:
            type: object
            properties:
              name:
                type: string
                example: asc
              age:
                type: string
                example: desc
          style: deepObject