[Лаба] REST + OpenAPI: Contract‑First разработка API

4000,00
р.
За 4 часа будет спроектирован контракт Orders API (включая методы GET/POST/PATCH /orders и /orders/{id}, GET /healthz), оформлен единый формат ошибок (Problem JSON) и схемы запросов/ответов, поднят mock‑сервер со Swagger UI, реализована базовая логика с валидацией, проведены тесты (201/400/404) с проверкой обратной совместимости, а также заложена основа безопасности через схему ApiKey.


Зачем аналитикам эта лабораторная?

Большинство интеграционных рисков рождается не в коде, а в расхождении ожиданий: «что именно возвращает метод», «какие ошибки считаются нормой», «какие поля обязательны». OpenAPI делает контракт API видимым, проверяемым и воспроизводимым: его можно визуализировать, замокать, сгенерировать тесты и SDK. Вы научитесь превращать требования в чёткий, тестируемый контракт, вокруг которого без споров строятся дизайн, разработка и эксплуатация.



Что такое OpenAPI (вкратце)?

  • OpenAPI — открытая спецификация для описания REST‑ API в YAML/JSON. В одном файле вы задаёте пути, методы, схемы данных, коды ответов, ошибки и безопасность. По этой спецификации инструменты автоматически поднимают mock‑сервер, рендерят живую документацию и помогают валидировать реализацию.


Для кого

  • Системные и ИТ‑аналитики (Junior+), solution‑архитекторы, лид‑аналитики.
  • Те, кто формулирует требования к интеграциям, SLA/SLO и хочет снизить риски «неправильно поняли API».

Что вы сделаете за 4 часа

  • Спроектируете контракт Orders API (домейн Shop&Ship): GET /orders, POST /orders, GET /orders/{id}, PATCH /orders/{id}, GET /healthz.
  • Оформите единый формат ошибок (Problem JSON) и схемы для запросов/ответов.
  • Поднимете mock‑сервер из спецификации и живую документацию (Swagger UI) — без единой строчки серверного кода.
  • Соберёте минимальную реализацию по контракту с автоматической валидацией запросов/ответов.
  • Проведёте позитивные и негативные сценарии (201/400/404), проверите обратную совместимость при добавлении поля.
  • Заложите основу безопасности: схема ApiKey в спецификации (для последующих лаб с Kong/Keycloak).

Компетенции, которые вы прокачаете

  • Contract‑first мышление: спецификация — источник истины для всех команд.
  • Управление эволюцией: как добавлять поля, помечать deprecated, не ломая клиентов.
  • Качество интеграций: единый формат ошибок, примеры и тестируемость «из коробки».
  • Инженерная дисциплина: от макета (mock) до реализации без «серых зон» и двусмысленностей.
  • Готовность к платформенным практикам: публикация через API‑шлюз, защита, контрактные тесты, генерация SDK.

Что получите «на руки»

  • Готовую спецификацию OpenAPI для учебного домена.
  • Поднимаемый в 1 команду mock‑сервер и UI‑документацию.
  • Мини‑реализацию API, строго валидируемую по спецификации.
  • Чек‑лист приемки и шаблон негативных сценариев (400/404).
  • Диаграмму взаимодействий для отчёта/презентации.

Формат

  • 4 часа, 75–80% практики. Минимум кода — максимум спецификации и проверок.
  • Работаем в парах/мини‑группах, сразу фиксируем спорные моменты в контракте.
  • Все артефакты готовы к повторному использованию в следующих лабораторных (Kong, Keycloak, Pact, Kafka и др.).

Чем эта лабораторная отличается

  • Сфокусирована на роли аналитика: учит формулировать не двусмысленные требования к API.
  • Сквозной кейс: от схем и примеров → к мокам → к валидации реализации.
  • Интеграционная траектория: спецификация сразу пригодна для шлюза, безопасности и контрактных тестов.

Результат для бизнеса

  • Быстрее согласование и меньше дефектов интеграций.
  • Оцифрованные ожидания по API: «что именно обещаем» — явно, в одном месте.
  • Повторяемость: любой разработчик/подрядчик поднимет макет и начнёт работу за минуты, а не дни.

Итог: после лабы вы сможете уверенно переводить пользовательские истории и правила в проверяемые OpenAPI‑контракты, которые снижают риски интеграций и ускоряют поставку.

👤 Ведущий: Валерий Зубаиров