swagger - 如何在 Swagger 规范中定义不同示例的数组?

标签 swagger swagger-ui swagger-2.0 swagger-editor

我正在尝试使用静态 swagger 文件来记录 API,该文件可以返回一些包含如下所示数组的 JSON:

[
  {
    "type": "type A",
    "field A": "this field is specific to type A"
  },
  {
    "type": "type B",
    "field B": "this field is specific to type B"
  }
]

我尝试了几种不同的方法来使用多态或显式定义多个示例来定义我的规范。这些示例总是最终看起来像:
[
  {
    "type": "type A",
    "field A": "this field is specific to type A",
    "field B": "this field is specific to type B"
  }
]

要不就:
[
  {
    "type": "type A",
    "field A": "this field is specific to type A"
  }
]

有没有办法在我的 swagger 规范中定义一个示例,以便 swagger-ui 显示的示例有效负载将包含一个包含类型 A 示例和类型 B 示例的数组,就像我写的第一个 JSON?

最佳答案

事实上,你可以。在响应对象中,放置一个带有数组的示例对象作为 mime 类型的值。像这样:

    400:
      description: Bad Request
      examples:
        application/json:
          [
            {
              code:10000,
              message:"Missing Input Parameters",
              fieldA: "AAAAA"
            },{
              code:42,
              message:"Ask the question",
              fieldB: "BBBBBB"
            }
          ]
    default:
      description: Unexpected error
      schema:
        $ref: '#/definitions/Error'

关于swagger - 如何在 Swagger 规范中定义不同示例的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942777/

相关文章:

java - REST API 的多个参数

reSTLet - Swagger2.0 到 RAML 转换

rest - 编码不会在 swagger-ui 中爆炸 requestBody 中的属性

node.js - 找不到模块 'oas3-tools'

docker - 通过docker访问的Swagger UI不起作用

c# - 如何将 Swagger 设置为默认起始页?

node.js - Swagger jsdoc 不会在更改时立即更新 api 文档吗?

node.js - Swagger - 更改项目目录

c# - 从 IDocumentFilter 中的方法和 Controller 获取所有 CustomAttributes,swashbuckle asp net core,swagger

swagger - Swagger 2.0在哪里声明基本身份验证架构