Проверка Json Schema: не разрешать поля, отличные от объявленных в схеме
Предположим, что у меня есть схема, подобная
fname: string
lname: string
age: string
Ни один из них не требуется. Пользователь может отправить мне любой из этих атрибутов выше, но любой другой, который не объявлен. Они могут передать мне fname
, lname
и age
или все. Но если они передадут мне все и дополнительные свойства, такие как middle_name
сообщение должно быть отклонено.
Как я могу определить такую схему?
Ответы
Ответ 1
Вы можете создать json-схему и использовать эту опцию:
additionalProperties = false
Таким образом вы разрешаете только атрибуты, определенные в свойствах. В твоем случае:
{
"properties": {
"fname": {"type": "string"},
"lname": {"type": "string"},
"age": {"type": "string"}
},
"additionalProperties": false
}