JSON Schema Generator
Сгенерировать JSON Schema по примеру JSON.
Как это работает
Писать JSON Schema руками с нуля для валидации API запросов дело муторное, особенно когда объект содержит два десятка полей разной вложенности. Json schema generator online смотрит на пример реального json ответа и сам собирает черновик схемы по draft-07 спецификации, который дальше можно подправить руками под конкретные требования вроде обязательности полей или ограничений длины строки.
Инструмент определяет тип каждого поля автоматически: строки становятся type string, целые числа отличаются от дробных через integer и number, булевы значения через boolean, а вложенные объекты и массивы рекурсивно разворачиваются в properties и items соответствующей структуры схемы.
Все поля объекта из примера автоматически попадают в список required, потому что схема генерируется по одному конкретному образцу данных, где присутствуют все поля, при необходимости список обязательных полей стоит потом отредактировать вручную под реальные требования вашего API.
Частые вопросы
Определяет ли генератор формат строки, например email или дату?
Нет, базовая генерация определяет только основные типы данных json, специфичные форматы вроде email, uri или date-time стоит добавить в получившуюся схему вручную через ключевое слово format.
Что если в массиве примера лежат элементы разных типов?
Схема массива строится по первому элементу массива, если структура элементов внутри массива неоднородна, это стоит учесть и подправить получившуюся схему для items вручную.
Нужно ли обязательно указывать все поля из required?
Нет, это лишь стартовая точка, сгенерированная по одному примеру, где присутствуют все поля, при реальном использовании стоит убрать из required те поля, которые в вашем API действительно опциональны.
Подходит ли сгенерированная схема сразу для продакшн валидации?
Как черновик да, но перед боевым использованием стоит вручную добавить ограничения вроде minLength, pattern или enum там, где это важно для вашей конкретной бизнес логики.