如何覆盖Swagger/OAS 3中模型的数据类型?
假设我有一个这样的模型:如何覆盖Swagger/OAS 3中模型的数据类型?,swagger,openapi,Swagger,Openapi,假设我有一个这样的模型: Film: properties: title: type: string duration: type: string actors: type: array items: $ref: '#/components/schemas/Person' 我有很多模型继承了它,并添加了一些额外的属性 但我也有一个模
Film:
properties:
title:
type: string
duration:
type: string
actors:
type: array
items:
$ref: '#/components/schemas/Person'
我有很多模型继承了它,并添加了一些额外的属性
但我也有一个模型,在这个模型中,参与者
不是人
s,而是外星人
s
我是否需要从公共模型中删除参与者
,并将其专门添加到每个继承模型中?(我希望不是。)
我可以简单地继承电影
并重新定义演员
属性吗
FilmWithAliens:
allOf:
- $ref: 'components/schemas/Film'
- properties:
actors:
type: array
items:
$ref: '#/components/schemas/Alien'
在使用Swagger UI生成文档时,这似乎可以正常工作。但如果我在这里读到了招摇过市的文件:
他们似乎说不建议这样做:
注意:验证数据时,服务器和客户端将验证
针对其包含的每个模型的组合模型。建议
避免使用冲突属性(如具有相同属性的属性
名称,但数据类型不同)
所以我的问题是:应该如何正确地做