Практичний приклад
Перевірте {"age":"18"} за схемою, що вимагає ціле число. JSON правильний синтаксично, але рядок порушує контракт API.
type, required, properties, itemsenum, minLength, minimumadditionalProperties: falsetype: ["string", "null"]JSON Schema Validator / Generator допомагає створювати JSON Schema на основі прикладу JSON і перевіряти JSON-дані за вже наявною схемою.
Це корисно для API-контрактів, бекенд-валідації, тестування структурованих відповідей і документування очікуваного формату payload.
Позначай fields як required лише тоді, коли кожен valid payload має їх містити. Optional fields краще підходять для phased API rollouts.
Використовуй additionalProperties false, коли unexpected fields мають ламати validation, але не для forward-compatible metadata.
Описуй nullable fields явно через type arrays на кшталт ["string", "null"], щоб null не плутався з missing field.
Додавай enum, minimum, minLength та інші constraints після генерації, щоб schema краще відповідала business contract.
Згенеровану схему можна редагувати вручну. Ця версія підтримує поширені правила: type, required, enum, minLength, minimum, nullable-типи, items для масивів і additionalProperties.
{
"type": "object",
"required": ["name"],
"properties": {
"name": {
"type": "string",
"minLength": 2
},
"age": {
"type": "integer",
"minimum": 18
},
"status": {
"type": "string",
"enum": ["active", "disabled"]
},
"nickname": {
"type": ["string", "null"]
}
},
"additionalProperties": false
}
Дізнайся workflow за цим інструментом і що перевіряти далі.
Робочий процес зі схемою, у якому правильні та помилкові дані запитів стають виконуваною документацією.
Послідовний процес, що відокремлює транспортні помилки, синтаксис JSON і невідповідність контракту даних.
Практичний workflow для форматування JSON, пошуку syntax errors, перевірки payload shape і response status, коли API data виглядає неправильно.
Schema validation робить payload assumptions явними до того, як вони стануть frontend bugs, backend edge cases або integration failures.
Перевір, які fields обов’язкові, які можна пропустити, і які можуть бути null.
Звір arrays, objects, numbers, enums, dates і string formats з очікуваною формою даних.
Порівнюй sample responses зі schema після API changes, vendor upgrades або webhook version changes.
Використовуй validation paths, щоб знайти точну property з помилкою.
Перевірте {"age":"18"} за схемою, що вимагає ціле число. JSON правильний синтаксично, але рядок порушує контракт API.
oneOf, anyOf, nullable та additionalProperties можуть давати несподівані результати, коли кілька схем одночасно приймають те саме значення.
Я зберігаю приклади помилкових даних поруч зі схемою: вони швидше виявляють неоднозначність контракту, ніж ідеальний зразок.
Можливо, тобі також стануть у пригоді ці інструменти.