如何覆盖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生成文档时,这似乎可以正常工作。但如果我在这里读到了招摇过市的文件: 他们似乎说不建议这样做:

注意:验证数据时,服务器和客户端将验证 针对其包含的每个模型的组合模型。建议 避免使用冲突属性(如具有相同属性的属性 名称,但数据类型不同)

所以我的问题是:应该如何正确地做