当前位置: 首页 > 知识库问答 >
问题:

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

安聪
2023-03-14

我正在使用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

在上面两种情况中寻找< code>example标记的缩进,它的YAML缩进很重要。

共有2个答案

叶翰林
2023-03-14

对于开放API版本 - 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
怀展
2023-03-14

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

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

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

对于对象数组,该示例如下所示:

type: array
items:
  type: object
  properties:
    id:
      type: integer
    name:
      type: string
example:
  - id: 1
    name: Prashant
  - id: 2
    name: Helen
 类似资料:
  • 在我的REST API补丁操作中,我使用的是v3 我试图为我的补丁操作添加更多的示例作为swagger模式。 请求主体: 目前我有以下类的请求模型。 在PatchOperation.java中 @补丁 有没有办法,我可以为getOP、getPath和getValue方法添加多个示例?谢谢你。

  • 我正在尝试在我的java spring项目中的swagger定义中添加新的属性。我已阅读文档并特别 https://springfox.github.io/springfox/docs/snapshot/#plugins 例如,我有这个定义: 我想要: 你能帮我在定义中添加meteo属性吗?在本例中,我的目标是以编程方式添加attribute,而不使用注释。

  • 我的Symfony 4应用程序中有一个APIendpoint,我想用NelmioApiDocBundle和Swagger记录它。endpoint将JSON作为请求数据,并返回一些自定义JSON作为响应。如何使用注释将其示例添加到文档中?我在文档页面上看不到任何示例,只有描述。

  • 我有这个剧本 因为上面的脚本只有css属性“可见性:隐藏”,而我还想通过使用或运算符在脚本中包含“可见性:崩溃”属性。 所以有人能给我提供像下面这样的编码吗? 这只是一个例子,它不起作用。我只想分享我想要的想法。我想使用OR运算符,而不是使用单独的脚本“可见性:折叠”。我希望你们也能通过添加“Visibility:collapse”proepty在现有脚本中添加OR操作符。谢谢 ** **你们可以

  • 当我将示例添加到我的swagger文档中并在swagger编辑器上进行测试时,它在任何地方都不会显示。有人能给我举一个例子,说明在什么地方有多个例子吗? 它来自:https://swagger.io/docs/specification/adding-examples/ 以下是一个yaml示例,它在在线招摇过市编辑器上不显示任何:

  • 我有一个类,其中有一个属性,即 此代码生成的示例值如下所示: 我对swagger jar的maven依赖是: 更新此问题的github票据