Swagger 如何为招摇过市的车型设定版本?

Swagger 如何为招摇过市的车型设定版本?,swagger,openapi,Swagger,Openapi,我有一个域模型,它包含许多类的东西,比如苹果、桔子和柠檬。例如,仅显示苹果: # version 1 Apple: type: object required: - id - name properties: id: type: integer name: type: string 稍后,我想在Apple中添加一个字段: # version 2 Apple: type: object required: -

我有一个域模型,它包含许多类的东西,比如苹果、桔子和柠檬。例如,仅显示苹果:

# version 1
Apple: 
  type: object
  required:
    - id
    - name
  properties:
    id:
      type: integer
    name:
      type: string
稍后,我想在Apple中添加一个字段:

# version 2
Apple: 
  type: object
  required:
    - id
    - name
    - variety
  properties:
    id:
      type: integer
    name:
      type: string
    variety:
      type: string
注:

我的数据库中仍然有版本1的Apple对象,它们将通过相同的API提供服务。 我希望按照v2模型中的要求准确地标记字段,因为这是重要的规范信息。 对我的整个API进行版本设置是不合适的,因为除了Apple之外,还有很多类型的模型,这样做会产生大量的版本。 OpenAPI版本3是否有一种对单个模型的模式进行版本控制的方法?我在规范中看不到任何明显的东西。我不想仅仅扩展对象并使所有字段都是可选的,因为这是不正确的

我唯一的选择似乎是定义Apple1和Apple2,但这似乎很笨拙