Вы можете моделировать супертипы и наследование в следующих типах:
types:
ResponseNoId:
properties:
something1:
something2?:
ResponseId:
type: ResponseNoId
properties:
id:
Response:
ResponseNoId|ResponseId
/test:
get:
responses:
200:
body:
application/json:
type: ResponseId
В этом примере ResponseId
наследует something1
и something2
от ResponseNoId
, но добавляет новое свойство с именем id
.
Также Response
позволяет использовать любой из ваших ресурсов.В ваших ресурсах вы можете теперь определить type: Response
, и это разрешит только один из дочерних типов.