openapi - 有没有办法覆盖 OAS3 中的属性描述和示例?

标签 openapi

我一直在寻找有关 OAS3 中继承的资源,但我得到的最接近的是 https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md以上没有我正在寻找的答案。

这是工作示例

components:
  schemas:
    Pet:
      properties:
        no_legs:
          description: "Number of legs"
          type: number
          example: 4
    Duck:
      allOf:
        - $ref: '#/components/schemas/Pet'
        - type: object
          properties:
            no_legs:
              example: 2
      properties:
        no_legs:
          description: 'Number of webbed feet'


受规范启发的失败示例
    Duck:
      allOf:
        - $ref: '#/components/schemas/Pet'
        - type: object
          properties:
            no_legs:
              description: 'Number of webbed feet'
              example: 2

我的问题是
  • 我正在查看的覆盖功能是否可用/支持?
  • 如果是这样,正确的做法是什么?

  • 我知道我可以使用组合来解决这个问题,但我会重复很多定义。

    最佳答案

    是的,这基本上是覆盖属性的方法。你在失败的例子中遇到了什么样的错误?它在 https://editor.swagger.io/ 工作正常至少。你记得指定 openapi: 3.0.0在文档的根目录?

    请注意,以下两个定义是相同的:

    Duck:
      allOf:
        - $ref: '#/components/schemas/Pet'
        - type: object
          properties:
            no_legs:
              description: 'Number of webbed feet'
              example: 2
    
    Duck:
      allOf:
        - $ref: '#/components/schemas/Pet'
      properties:
        no_legs:
          description: 'Number of webbed feet'
          example: 2
    

    关于openapi - 有没有办法覆盖 OAS3 中的属性描述和示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354625/

    相关文章:

    Openapi:共享参数和组件说明

    node.js - 允许 swagger 查询参数为字符串或整数数组

    spring-boot - 如何解决 openapi-generator-maven-plugin 使用不推荐使用的类?

    python - 如何使用 Kubernetes Python 客户端创建 secret ?

    rest - OpenAPI 中标签的确切用途以及它们为何独一无二

    yaml - 如何使用 openapi-generator 生成 API 文档?

    amazon-web-services - 如何在 OpenApi 端点定义中引用现有 API 网关授权者

    javascript - requestBody 未出现在通话中

    swagger - 如何在 OpenAPI (Swagger) 中指定多个 404 原因?

    swagger - 如何在 OpenAPI 3.0 中定义 header 参数?