如何在swagger属性中添加多个示例值?

时间:2017-10-05 04:56:45

标签: yaml swagger openapi

我使用的是Swagger OpenAPI规范工具,我在其中一个定义中有一个字符串数组属性,如下所示:

cities:
        type: array
        items:
          type: string
          example: "Pune"

我的API生成JSON结果,因此对于上面的对象,结果会出现在响应中:

{
  "cities": [
    "Pune"
  ]
}

尝试用逗号分隔字符串,如下所示:

cities:
            type: array
            items:
              type: string
              example: "Pune", "Mumbai", "Bangaluru"

期待结果为:

{
      "cities": [
        "Pune",
        "Mumbai",
        "Bangaluru"
      ]
    }

但编辑显示错误。 “糟糕的缩进”

我想给示例标记赋予多个值有什么办法吗?

更新

下面的用户Helen给出了正确的答案我有瑕疵问题因此有嵌套数组(2d数组)

正确的方式:

cities:
        type: array
        items:
          type: string
        example: 
        - Pune
        - Mumbai

我的方式(哪个错了)

cities:
        type: array
        items:
          type: string
          example: 
          - Pune
          - Mumbai

在以上两个案例中查找example标签的缩进,这会产生差异,其YAML缩进很重要。

2 个答案:

答案 0 :(得分:2)

要显示包含多个项目的数组示例,请在数组级别而不是项目级别添加example

cities:
  type: array
  items:
    type: string
  example:
    - Pune
    - Mumbai
    - Bangaluru

  # or
  # example: [Pune, Mumbai, Bangaluru]

答案 1 :(得分:-2)

对于openapi版本-3.0.0 +

  major:
      type: array
      items:
        type: string
        enum:
          - Accounting
          - Business Contacts
          - Economy
          - Finance
          - Graphic Design
          - International Business Administration
          - International Relations
          - Law
          - Marketing
          - others
          - Political Science
          - Statistics