微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Openapi 3 - 继承和多态性 - redoc-cli

如何解决Openapi 3 - 继承和多态性 - redoc-cli

在我的 openapi yaml 文件中,我有一个 Layout 架构,它有一个属性 fields,它是一个 Field 对象的数组。我的想法是拥有一个具有公共属性的父字段架构,以及一些子架构(TextInputSelectToggle 等...)继承这些并扩展它们的特定属性

所以,这就是我正在尝试的:

Layout:
  type: object
  properties:
    fields:
      type: array
      items:
        $ref: '#/Field'
Field:
  type: object
  properties:
    name:
      type: string
      description: Field name.
    label:
      type: string
      description: Field label.
    description:
      type: string
      description: Short description explaining the purpose of the field.
    fieldType:
      type: string
      description: Field type.
  required:
    - name
    - label
  discriminator: fieldType
  mapping:
    text: '#/TextInput'
    select: '#/Select'
TextInput:
  allOf:
    - $ref: '#/Field'
    - type: object
      properties:
        placeholder:
          type: string
          description: Field placeholder. **Only for *text* fields.**
Select:
  allOf:
    - $ref: '#/Field'
    - type: object
      properties:
        options:
          type: array
          items:
            type: string
        multiple:
          type: boolean
          default: false

编译工作正常,但是当我展开 fields 属性时,我看到:

Array ()
 Schema not provided

我希望 200 响应中的 petType 属性会发生这样的事情: http://redocly.github.io/redoc/#operation/findPetsByStatus

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。