Мне нужно построить схему Json для форматирования каждого сообщения, которое приложение необходимо отправить другому.Требовать значение в зависимости от значения свойства
Я уже построить это:
{
'description': 'BLABLA',
'definitions': {
'M2M_message_input' : {
'type' : 'object',
'properties' : {
'command' : {
'type': 'string',
'enum' : ['read', 'write', 'list', 'reset priority']
},
'path' : {
'type' : 'string',
'pattern' : '^\/'
},
'value' : {'type' : 'string'},
'priority' : {
'type' : 'integer',
'maximum' : 255,
'exclusiveMaximum' : false,
'minimum' : 0,
'exclusiveMinimum' : false
}
},
'required': ['command'],
'dependencies' : {
'value' : ['priority']
},
"additionalProperties" : false
}
},
'type': 'object',
'$ref' : '#/definitions/M2M_message_input'
}
В настоящем время, я хочу потребовать некоторых свойств в зависимости от значения команды, как:
- если команда выставиться «читать», я хотят требовать путь,
- если команда выставиться «писать», я хочу, чтобы требовать путь, значение и приоритет
и т. Д.
Я видел некоторые темы об этом, например JSON Schema - specify field is required based on value of another field, но я не смог адаптироваться в своем случае, используя usinf draft v4.
Любые предложения?