JSON и схемы
Ключевое слово additionalProperties в JSON Schema: запрет лишних полей
По умолчанию объекты в JSON Schema разрешают любые дополнительные поля. Установите additionalProperties: false, чтобы отклонять неизвестные ключи.
Опубликовано
Запрет лишних полей
{
"type": "object",
"properties": {
"name": { "type": "string" }
},
"required": ["name"],
"additionalProperties": false
}Проверьте пример
Проверьте дополнительное поле объекта
Создайте базовую схему по примеру с полем debug, прежде чем закрывать контракт.
{"name":"Alice","age":30,"debug":true}Ожидаемый результат: Схема включает все наблюдаемые поля, а выбор политики остаётся явным.
Проверьте пример
Отклоните неизвестное поле debug
Используйте закрытую схему объекта и изучите ошибку дополнительного свойства.
additionalProperties: false
data: {name, age, debug}Ожидаемый результат: Проверка отклоняет debug как дополнительное свойство.
Генератор схем
Настройка закрытой схемы объекта
Сгенерируйте схему объекта с флагом additionalProperties: false.