OpenAPI数组内的多种类型

Bob*_*ke4 4 swagger swagger-ui openapi

我在使用OpenAPI 3定义可重用的模式组件时遇到了麻烦,因为OpenAPI 3允许包含多种类型的数组.每个项类型都继承自同一父类,但具有特定的子属性.这似乎model在SwaggerHub 的视图中正常工作,但示例视图未正确显示数据.

TLDR; 有没有办法在OpenAPI 3中定义包含不同对象类型的数组?

Response:
  allOf:
    - $ref: '#/components/schemas/BaseResponse'
    - type: object
      title: A full response
      required:
      - things
      properties:
        things:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/ItemOne'
              - $ref: '#/components/schemas/ItemTwo'
              - $ref: '#/components/schemas/ItemThree'
Run Code Online (Sandbox Code Playgroud)

Hel*_*len 10

你的规格是正确的.只是Swagger UI尚不支持示例渲染oneOfanyOf模式.您可以跟踪这些问题以获取状态更新:

OAS 3.0支持Backlog
使用oneOf属性的多个响应不会出现在UI中