Конструктор и проверка JSON Schema
Создать ограничения по образцу, подтвердить типы, проверить набор файлов и объяснить каждую ошибку.
Методика и примеры
Конструктор и проверка JSON Schema
Проверяет ограниченный профиль JSON Schema локальным интерпретатором без eval и сети. Поддерживает type, свойства, обязательность, диапазоны, enum, локальные $ref и комбинации. Неизвестные конструкции отклоняются. Вывод схемы по образцам не доказывает реальный контракт.
Входные данные примера
Основной источник
[
{
"id": 1,
"name": "Синтетический пример",
"active": true
},
{
"id": "2",
"name": "X",
"extra": "лишнее"
}
]Второй источник
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string",
"minLength": 2
},
"active": {
"type": "boolean"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}Результат примера
| sample | path | keyword | message |
|---|---|---|---|
| 2 | /id | type | Ожидался integer, получен string |
| 2 | /name | minLength | Слишком короткая строка |
| 2 | /extra | additionalProperties | Лишнее поле |
Показано строк: 3 из 3.
Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.
Проверка контракта API по примерам
Проверяет ограниченный профиль JSON Schema локальным интерпретатором без eval и сети. Поддерживает type, свойства, обязательность, диапазоны, enum, локальные $ref и комбинации. Неизвестные конструкции отклоняются.
Входные данные примера
Основной источник
[
{
"id": 1,
"name": "Синтетический пример",
"active": true
},
{
"id": "2",
"name": "X",
"extra": "лишнее"
}
]Второй источник
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string",
"minLength": 2
},
"active": {
"type": "boolean"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}Результат примера
| sample | path | keyword | message |
|---|---|---|---|
| 2 | /id | type | Ожидался integer, получен string |
| 2 | /name | minLength | Слишком короткая строка |
| 2 | /extra | additionalProperties | Лишнее поле |
Показано строк: 3 из 3.
Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.
Синхронизация примеров и JSON Schema
Проверяет ограниченный профиль JSON Schema локальным интерпретатором без eval и сети. Поддерживает type, свойства, обязательность, диапазоны, enum, локальные $ref и комбинации. Неизвестные конструкции отклоняются. Экспортирует регрессионный набор и частоты ошибок.
Входные данные примера
Основной источник
[
{
"id": 1,
"name": "Синтетический пример",
"active": true
},
{
"id": "2",
"name": "X",
"extra": "лишнее"
}
]Второй источник
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string",
"minLength": 2
},
"active": {
"type": "boolean"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}Результат примера
| sample | path | keyword | message |
|---|---|---|---|
| 2 | /id | type | Ожидался integer, получен string |
| 2 | /name | minLength | Слишком короткая строка |
| 2 | /extra | additionalProperties | Лишнее поле |
Показано строк: 3 из 3.
Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.
