如何通过swagger传递1个或更多4个字符串的数组?

时间:2015-06-16 15:42:08

标签: swagger swagger-editor

基本上,我想在请求

中设置swagger来接受类似的东西
[
    {
        "input_id": "",
        "city": "",
        "state": "",
        "zipcode": "20500"
    },
    {
        "input_id": "",
        "city": "Cupertino",
        "state": "CA",
        "zipcode": ""
    },
    {
        "input_id": "",
        "city": "",
        "state": "",
        "zipcode": "95014"
    },
    {
        "input_id": "Apple",
        "city": "Cupertino",
        "state": "ca",
        "zipcode": "90210"
    }
]

我的当前设置存在一些问题

  - name: testing
    in: query
    description: 'zip request info'
    type: array
    items:
      type: object
      properties:
        input_id:
          type: string
        city:
          type: string
        state:
          type: string
        zipcode:
          type: string

这会将POST网址设置为像这样访问这些项目 ... testing[0][city]=burbank&testing[0][state]=ca ...

当我想要像这样访问它们时 ... city=burbank&state=ca ...对于每个城市/州/邮政编码/ input_id对。

更新:

我的新设置正常工作,除了swagger抛出的错误。它虽然有效!

    - name: City/State pair or ZIP Code
      in: body
      description: 1 or more
      type: array
      items:
        minimum: 1
        type: object
        properties:
          input_id:
            type: string
            description: A unique identifier for this address used in your application; this field will be copied into the output
          city:
            type: string
            description: The city name
          state:
            type: string
            description: State name or abbreviation
          zipcode:
            type: string
            description: The 5-digit ZIP Code 

如果有人能找到比这更好的解决方案(没有错误),请告诉我

1 个答案:

答案 0 :(得分:0)

我的编辑几乎是正确的。在添加schema:

之前,我只需要在行上添加type: array
name: 'City/State pair or ZIP Code'
in: body
description: 1 or more
schema:
  type: array
  items:
    type: object
    properties:
      input_id:
        type: string
        description: A unique identifier for this address used in your application; this field will be copied into the output
      city:
        type: string
        description: The city name
      state:
        type: string
        description: State name or abbreviation
      zipcode:
        type: string
        description: 'The 5-digit ZIP Code'

这有效并且没有错误。我可以在我的数组中添加多个对象,以便以我想要的格式发布