API и безопасность

Инструменты для OpenAPI и GraphQL

Работа с контрактом API — это не только написание YAML: нужно понять, ломает ли изменение схемы существующих клиентов, превратить коллекцию Postman, которой поделился коллега, в спецификацию, которую можно версионировать, или сгенерировать реалистичные фикстуры ещё до того, как появится сам бэкенд-эндпоинт. Здесь собраны редактирование, сравнение и создание моков для OpenAPI и GraphQL, конвертер Postman в OpenAPI и генератор команд curl для проверки отдельных запросов.

Используйте Сравнение спецификаций OpenAPI или сравнение схем GraphQL специально для того, чтобы поймать критические изменения — удалённые поля, изменённые типы, ужесточённые аргументы — между двумя версиями перед релизом. моки OpenAPI генерируют JSON запроса и ответа прямо из ваших операций, так что фронтенд может начать работу на реалистичных данных раньше настоящего API. Всё считается в браузере на спецификации, которую вы вставляете.

7 инструментов

Вопросы об инструментах категории «OpenAPI / GraphQL / Postman»

Как понять, что изменение OpenAPI сломает существующих клиентов API?

Прогоните обе версии спецификации через Сравнение спецификаций OpenAPI, чтобы увидеть добавленные, удалённые и изменённые пути, параметры и схемы рядом. Удалённые поля, новые обязательные параметры и сужение типов — изменения, которые чаще всего ломают клиента, уже работающего по старой спецификации.

Можно ли преобразовать коллекцию Postman в спецификацию OpenAPI?

Да — Postman в OpenAPI читает экспорт коллекции Postman и собирает из него документ OpenAPI, включая запросы, которые может распознать. Это скорее отправная точка для спецификации, которую потом можно доработать в Форматтере OpenAPI, а не полностью автоматическая конвертация без потерь.

В чём разница между сравнением REST API и схемы GraphQL?

Сравнение REST сопоставляет пути, методы, параметры и JSON-схемы в документе OpenAPI. Схема GraphQL — единый типизированный граф, поэтому сравнение схем GraphQL напрямую сравнивает типы, поля и аргументы — именно это определяет, продолжит ли существующий запрос резолвиться.