Я определил в схеме validType
, где каждый атрибут должен иметь text
и annotation
.
Я хочу добавить дополнительные ограничения для уточнения text
из course
, которые должны следовать "pattern":"[a-z]{2}[0-9]{2}"
. Можно ли как-нибудь применить ограничение напрямую, без копирования и вставки содержимого схемы validType
?
:
{
"type": "object",
"definition": {
"validType": {
"description": "a self-defined type, can be complicated",
"type": "object",
"properties": {
"text": {
"type": "string"
},
"annotation": {
"type": "string"
}
}
},
"properties": {
"name": {
"$ref": "#/definitions/validType"
},
"course": {
"$ref": "#/definitions/validType"
}
}
}
}
Данные:
{"name":{
"text":"example1",
"annotation":"example1Notes"},
"course":{
"text":"example2",
"annotation":"example2Notes"}}
Ожидаемое схема для course
должна работать следующим образом:
{"course": {
"type": "object",
"properties": {
"text": {
"type": "string",
"pattern":"[a-z]{2}[0-9]{2}"
},
"annotation": {
"type": "string"
}
}
}}
Но вместо того, чтобы повторять большой блок validType, я ожидаю что-то похожее на формат ниже:
{"course": {
"$ref": "#/definitions/validType"
"text":{"pattern":"[a-z][0-9]"}
}}