# Валидатор контракта API-ответа

Проверяет реальный JSON-ответ API на соответствие response schema из OpenAPI 3.x

> Каноническая страница: https://elysiatools.com/ru/tools/api-response-contract-validator

- **Категория:** Development

- **Ключевые слова:** openapi, api, ответ, schema, контракт

## Обзор

Вставьте документ OpenAPI 3.x и реальный ответ API, затем укажите path, method и status code. Инструмент найдет нужную response schema и покажет отсутствующие поля, ошибки типов, нарушения enum и недокументированные поля.

Как использовать:
- Спецификация OpenAPI: вставьте YAML или JSON
- JSON ответа: вставьте реальный payload
- Путь / Метод / Код статуса: выберите операцию и ветку ответа
- Формат спецификации: используйте auto, если формат неизвестен
- Запретить лишние поля: предупреждать о полях вне схемы

## Входные данные

- **Спецификация OpenAPI** (textarea): openapi: 3.0.3 paths: /users/{id}: ...
- **JSON ответа** (textarea): {"id":1,"name":"Alice"}
- **Путь** (text): /users/123
- **Метод** (select)
- **Код статуса** (text): 200
- **Формат спецификации** (select)
- **Запретить лишние поля** (checkbox)

## Когда использовать

- При отладке новых эндпоинтов API для проверки корректности формируемого JSON-ответа.
- Во время интеграционного тестирования для выявления нарушений контракта между клиентом и сервером.
- При обновлении спецификации OpenAPI, чтобы убедиться, что текущая реализация API соответствует новым требованиям.

## Как это работает

- Вставьте вашу спецификацию OpenAPI 3.x (в формате YAML или JSON) и реальный JSON-ответ от сервера.
- Укажите путь (например, /users/123), HTTP-метод и код статуса (например, 200), чтобы инструмент нашел соответствующую схему.
- Включите опцию «Запретить лишние поля», если хотите получать предупреждения о свойствах, не описанных в документации.
- Инструмент проанализирует данные и выведет подробный HTML-отчет с указанием всех расхождений и ошибок валидации.

## Сценарии использования

- Проверка ответов микросервисов перед релизом для предотвращения поломок на стороне клиентских приложений.
- Валидация мок-данных (mock data) на соответствие утвержденному контракту OpenAPI на этапе проектирования.
- Поиск причин ошибок парсинга на фронтенде путем сравнения реального ответа бэкенда с ожидаемой схемой.

## Частые вопросы

### Поддерживает ли инструмент OpenAPI версии 2.0 (Swagger)?

Нет, инструмент предназначен исключительно для работы со спецификациями формата OpenAPI 3.x.

### Нужно ли вручную указывать формат спецификации?

По умолчанию используется режим «Auto», который автоматически определяет формат (YAML или JSON). Вы можете задать его вручную, если автоопределение не сработало.

### Что делает опция «Запретить лишние поля»?

Она включает строгую проверку, помечая любые поля в JSON-ответе, которых нет в схеме OpenAPI, как ошибки валидации.

### Как правильно указать путь для проверки?

Укажите реальный путь запроса (например, /users/42) или шаблон из спецификации. Инструмент сопоставит его с доступными путями (например, /users/{id}).

### Какие именно ошибки находит валидатор?

Валидатор обнаруживает отсутствие обязательных полей, неверные типы данных (например, строка вместо числа), выход за пределы допустимых значений (enum) и наличие незадокументированных полей.

## Связанные инструменты

- [Генератор JSON Schema](https://elysiatools.com/ru/tools/json-schema-generator): Автоматически выводит JSON Schema из примера JSON, поддерживает ручную правку и проверку
- [Мост OCR PDF → структурированный JSON](https://elysiatools.com/ru/tools/ocr-pdf-to-structured-json-bridge): Извлекает текстовый слой PDF с геометрией (строки по y-координате, таблицы по промежуткам колонок, заголовки по кеглю, пары ключ-значение через двоеточие) и заполняет пользовательскую JSON-схему поле за полем — метки сопоставляются по нормализованным ключам, значения приводятся к объявленным типам и проверяются ajv.
- [Конструктор короткой ссылки + UTM + QR](https://elysiatools.com/ru/tools/short-url-utm-builder-qr-bundle): Один проход вместо тройки bit.ly + Campaign Builder + QR-генератора: вводите целевую страницу и UTM-параметры (обязательная тройка GA4 проверяется, опционально — нижний регистр), получаете полную трекинг-ссылку; детерминированный base62-slug (хэш FNV-1a: одинаковый вход → одинаковый slug, без сети и аккаунтов) на вашем коротком домене; два QR-кода PNG (короткая и полная ссылки); плюс конфиги редиректов nginx / vercel.json / Netlify и CSV-строку для таблицы кампаний.
- [Разделение train/test со стратификацией](https://elysiatools.com/ru/tools/train-test-split-with-stratification): Читает датасет CSV/JSON и делит на train/validation/test со стратификацией по целевому столбцу (по умолчанию 70/15/15, воспроизводимое зерно) или стратифицированный k-fold; отчёт о распределении классов по сплитам с полосами отклонения, проверка утечек через дубликаты строк, предпросмотр SMOTE (интерполяция ближайших соседей на train) и экспорт CSV в ZIP.
- [Валидатор JSON Schema](https://elysiatools.com/ru/tools/json-schema-validator): Проверка данных JSON по схеме JSON для проверки структуры и типов данных
- [Интерактивный REPL для JSONPath](https://elysiatools.com/ru/tools/jsonpath-repl-playground): Интерактивный REPL для JSONPath, выполняющий многошаговые конвейеры запросов к любому JSON. Пишите по одному выражению на строку (например, $..book\[?(@.price<10)\], затем $\[0:5\]) и видите совпадения каждого шага с количеством, путями и значениями — плюс URL для шаринга, кодирующий ваши данные и конвейер. Поддерживает рекурсивный спуск ($..), маски (\[*\]), фильтры (\[?(@.price<10)\]), срезы (\[0:5:2\]) и отрицательные индексы.
- [OpenAPI в Postman Collection](https://elysiatools.com/ru/tools/openapi-to-postman-collection): Превращает спецификацию OpenAPI 3.x или Swagger 2.0 (JSON/YAML) в импортируемую Postman Collection v2.1.0 с папками, переменными, auth и примерами ответов.
- [Генератор OpenAPI в TypeScript](https://elysiatools.com/ru/tools/openapi-to-typescript-generator): Преобразует спецификации OpenAPI или Swagger в формате JSON/YAML в типы TypeScript, параметры запросов и модели ответов с настраиваемым форматом вывода и стилем имен

## Примеры

- [Postman Collections - API Тестирование](https://elysiatools.com/ru/samples/postman-collections): Всесторонние примеры Postman collections включая API тестирование, скрипты автоматизации, переменные окружения, mock серверы и продвинутые паттерны тестирования для REST API
- [Примеры AWS EventBridge](https://elysiatools.com/ru/samples/eventbridge-samples): Примеры AWS EventBridge включая шины событий, правила, цели, реестр схем, пользовательские события и межаккаунтную маршрутизацию событий для бессерверной событийно-ориентированной архитектуры
- [Примеры OpenAPI/Swagger](https://elysiatools.com/ru/samples/openapi-swagger): Комплексные примеры документации API с использованием OpenAPI 3.0 и спецификаций Swagger для RESTful сервисов
- [Примеры Распределенного Трейсинга](https://elysiatools.com/ru/samples/distributed-tracing-samples): Комплексные примеры распределенного трейсинга с использованием Jaeger, OpenTelemetry и современных инструментов

## Связанные материалы

- [Определение API-контрактов, проверка схем и тестирование изменений](https://elysiatools.com/ru/hubs/api-contract-testing): Определите API-контракт, проверьте схемы и сохранённые payload, найдите риски совместимости и зафиксируйте приёмку.
- [Версионирование API и проверка breaking changes](https://elysiatools.com/ru/hubs/api-versioning-breaking-change-review): Сравните версии API, спланируйте миграцию и примите совместимость до релиза. Инструменты не заменяют реальный выпуск и мониторинг.
- [Инструменты JSON для проверки, утилит и преобразования](https://elysiatools.com/ru/hubs/json-utility): Форматируйте, проверяйте, сравнивайте, объединяйте, преобразуйте, валидируйте, анализируйте и маркируйте JSON для API и данных.
- [Инструменты проверки JSON Schema и API-контрактов](https://elysiatools.com/ru/hubs/json-validate): Сравните в одном хабе проверку JSON Schema, проверку OpenAPI-ответов, mutation testing, стресс-тестирование контрактов и обнаружение ломающих изменений API.
