我一直在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
我的问题是
我正在查看的替代功能是否可用/受支持?
如果是的话,什么合适的方法呢?
我知道我可以使用合成来解决这个问题,但是我会重复很多定义。
答案 0 :(得分:0)
是的,从本质上讲,这就是覆盖属性的方法。您在失败的示例中遇到什么样的错误?至少在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