OpenAPI 鉴别器 oneOf 默认值

Man*_*ani 5 openapi

给定以下 OpenAPI YAML,我们petType在创建时是否总是需要定义Pet

我可以默认创建一个类型的宠物Dog而不指定吗petType?有没有办法用 OpenAPI 来做到这一点?

Pet:
 oneOf:
  - $ref: '#/components/schemas/Cat'
  - $ref: '#/components/schemas/Dog'
  - $ref: '#/components/schemas/Lizard'
  discriminator:
     propertyName: petType
Run Code Online (Sandbox Code Playgroud)

Hel*_*len 4

petType我们在创建 Pet 时是否总是需要定义

是的。正如OpenAPI 规范的鉴别器对象部分中所解释的(重点是我的):

鉴别器可以充当“提示”...选择匹配模式...然后我们可以准确描述哪个字段告诉我们要使用哪个模式:
...
现在的期望是petType 必须存在具有名称的属性in ... Payload,该值将对应于 OAS 文档中定义的模式名称。