Ответ 1
Вам нужно будет определить модели отдельно.
Однако у вас есть варианты для случаев исключения и различия.
Если вы хотите исключить, что является простым случаем, создайте модель с исключенным свойством, скажем ModelA
. Затем определите ModelB
как ModelA
плюс дополнительное свойство:
ModelB:
allOf:
- $ref: "#/definitions/ModelA"
- type: object
properties:
id:
type: string
Если вы хотите определить разницу, выполните тот же метод выше и исключите id
из ModelA
. Затем определите ModelB
и ModelC
как расширение ModelA
и добавьте к ним свойство id
, каждое из которых имеет свои собственные ограничения. Имейте в виду, что JSON Schema позволяет вам следовать первоначальному примеру выше, чтобы в некоторых случаях "переопределить" определение. Однако, поскольку он не является действительно переопределяющим, и нужно понять концепции JSON Schema, чтобы лучше не делать простых ошибок, я бы порекомендовал этот путь на данный момент.