Swagger OpenAPI 3-属性的重用

Swagger OpenAPI 3-属性的重用,swagger,openapi,Swagger,Openapi,以下是OpenAPI 3定义的示例: components: schemas: Foo: properties: string: type: string enumField: type: string enum: ['VALUE_1', 'VALUE_2'] Bar: properties: enumField: type:

以下是OpenAPI 3定义的示例:

components:
  schemas:
    Foo:
      properties:
        string:
          type: string
        enumField:
          type: string
          enum: ['VALUE_1', 'VALUE_2']
    Bar:
      properties:
        enumField:
          type: string
          enum: ['VALUE_1', 'VALUE_2']

有没有一种方法可以重用
enumField
,或者每次使用时都必须指定它?

我不知道是否可以引用单个属性,但您可以使用模式并拆分它

以下是您可以执行的基本结构示例:

SchemaBase:
类型:对象
特性:
傅:
类型:字符串
SchemaFull:
所有:
-$ref:“#/components/schemas/SchemaBase”
-类型:对象
特性:
酒吧:
类型:字符串
在您的情况下,可能是这样的:

组件:
模式:
枚举字段:
特性:
枚举字段:
类型:字符串
枚举:['VALUE_1','VALUE_2']
傅:
所有:
-$ref:“#/components/schemas/EnumField”
-特性:
字符串:
类型:字符串
酒吧:
所有:
-$ref:“#/components/schemas/EnumField”

我不知道是否可以引用单个属性,但您可以通过模式和拆分来实现

以下是您可以执行的基本结构示例:

SchemaBase:
类型:对象
特性:
傅:
类型:字符串
SchemaFull:
所有:
-$ref:“#/components/schemas/SchemaBase”
-类型:对象
特性:
酒吧:
类型:字符串
在您的情况下,可能是这样的:

组件:
模式:
枚举字段:
特性:
枚举字段:
类型:字符串
枚举:['VALUE_1','VALUE_2']
傅:
所有:
-$ref:“#/components/schemas/EnumField”
-特性:
字符串:
类型:字符串
酒吧:
所有:
-$ref:“#/components/schemas/EnumField”

可能的重复项您需要为该枚举定义架构,然后可以在
enumField
属性中
$ref
枚举架构。有关
$ref
语法,请参见^^^链接问题。相关:可能存在重复项您需要为该枚举定义架构,然后可以在
enumField
属性中
$ref
枚举架构。有关
$ref
语法,请参见^^链接问题。相关: