Estou construindo um esquema A
que possui uma propriedade que faz referência a outro esquema B
. O problema é que preciso apenas de um subconjunto de uma propriedade enum no esquema B
. Existe uma maneira de fazer isso dentro do arquivo yaml? Exemplo simplificado: se eu estivesse construindo algo para um consultório veterinário:
components:
schemas:
Dog:
properties:
color:
description: Color of the dog
$ref: "#/comonents/schema/color"
injury:
description: Information about the injury
$ref: "#/comonents/schema/InjuryInfo"
InjuryInfo:
properties:
location:
description: where on the animal is the injury
type: string
enum:
- Body
- Leg
- Wing
details:
description: Additional Details
type: string
otherProperty:
description: Some other property
type: string
O que preciso fazer é reutilizar o InjuryInfo
esquema, mas preciso Dog
que ele permita apenas propriedades InjuryInfo.location
e InjuryInfo.details
. E que Dog.injury.location
inclua apenas um subconjunto dos valores de enumeração. Isso é possível a partir do arquivo yaml?
Você pode usar
allOf
para esses fins. Aqui você pode ler mais sobre allOf