JSON-схема сама по себе является JSON-документом, описывающим правила, которым должен следовать другой документ: его тип, свойства, которые он имеет, обязательные свойства, типы и форматы их значений, допустимую длину строк и массивов. Валидаторы во всех основных языках программирования проверяют документ на соответствие схеме и сообщают о каждом нарушении.
Ключевые слова, такие как type, properties, required, items, enum, format и pattern, объединяются для описания структуры; переменная $ref повторно использует определения. OpenAPI 3.1 использует JSON Schema (проект 2020-12) для тел запросов и ответов, поэтому описание API также представляет собой набор валидаторов для собственного трафика.
Параметр additionalProperties по умолчанию имеет значение false. По умолчанию схема допускает свойства, которые она не упоминает, а это значит, что ответ, содержащий множество неожиданных полей, всё равно будет проверен. Строгие проверки контракта должны указывать additionalProperties: false — или принять тот факт, что лишние поля не обнаруживаются.
В документах OpenAPI каждого API в тело запроса встроены JSON-схемы; вставьте ответ из раздела «Попробуйте» в генератор JSON-схем на соседнем сайте, чтобы получить схему, выведенную из самих данных.
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление