Ключевые факты
- Категория
- Разработка и Web
- Типы входных данных
- textarea, text, select, checkbox
- Тип результата
- html
- Покрытие примерами
- 4
- API доступен
- Yes
Обзор
Валидатор контракта API-ответа — это инструмент для быстрой проверки реальных JSON-ответов на соответствие схемам, описанным в спецификации OpenAPI 3.x. Он автоматически находит нужную схему по указанному пути, методу и HTTP-статусу, а затем выявляет пропущенные обязательные поля, несовпадения типов данных, нарушения перечислений (enum) и незадокументированные свойства. Это помогает разработчикам и тестировщикам гарантировать, что API строго соблюдает заявленный контракт.
Когда использовать
- •При отладке новых эндпоинтов API для проверки корректности формируемого JSON-ответа.
- •Во время интеграционного тестирования для выявления нарушений контракта между клиентом и сервером.
- •При обновлении спецификации OpenAPI, чтобы убедиться, что текущая реализация API соответствует новым требованиям.
Как это работает
- •Вставьте вашу спецификацию OpenAPI 3.x (в формате YAML или JSON) и реальный JSON-ответ от сервера.
- •Укажите путь (например, /users/123), HTTP-метод и код статуса (например, 200), чтобы инструмент нашел соответствующую схему.
- •Включите опцию «Запретить лишние поля», если хотите получать предупреждения о свойствах, не описанных в документации.
- •Инструмент проанализирует данные и выведет подробный HTML-отчет с указанием всех расхождений и ошибок валидации.
Сценарии использования
Примеры
1. Проверка ответа профиля пользователя
Backend-разработчик- Контекст
- Разработчик добавил новое поле в ответ API профиля пользователя, но забыл обновить спецификацию.
- Проблема
- Убедиться, что реальный ответ API полностью соответствует заявленному контракту OpenAPI.
- Как использовать
- Вставить YAML-спецификацию и JSON-ответ, указать путь /users/42, метод GET и статус 200, включив запрет лишних полей.
- Результат
- Инструмент подсвечивает новое поле как незадокументированное, напоминая разработчику обновить OpenAPI-файл.
2. Отладка ошибки типа данных
QA-инженер- Контекст
- Мобильное приложение падает при получении списка товаров из-за неожиданного формата данных.
- Проблема
- Найти расхождение между ожидаемым типом данных в контракте и реальным ответом сервера.
- Как использовать
- Загрузить спецификацию и проблемный JSON-ответ, выбрать метод GET и статус 200 для пути /products.
- Результат
- Валидатор показывает, что поле price возвращается как строка, хотя в схеме OpenAPI оно описано как число (integer).
Проверить на примерах
jsonСвязанные хабы
FAQ
Поддерживает ли инструмент OpenAPI версии 2.0 (Swagger)?
Нет, инструмент предназначен исключительно для работы со спецификациями формата OpenAPI 3.x.
Нужно ли вручную указывать формат спецификации?
По умолчанию используется режим «Auto», который автоматически определяет формат (YAML или JSON). Вы можете задать его вручную, если автоопределение не сработало.
Что делает опция «Запретить лишние поля»?
Она включает строгую проверку, помечая любые поля в JSON-ответе, которых нет в схеме OpenAPI, как ошибки валидации.
Как правильно указать путь для проверки?
Укажите реальный путь запроса (например, /users/42) или шаблон из спецификации. Инструмент сопоставит его с доступными путями (например, /users/{id}).
Какие именно ошибки находит валидатор?
Валидатор обнаруживает отсутствие обязательных полей, неверные типы данных (например, строка вместо числа), выход за пределы допустимых значений (enum) и наличие незадокументированных полей.