SYSTEM ATLASЗагрузка материала

Пример API как контракт

API Example as Contract

Исполняемый или проверяемый пример запроса и ответа, синхронизированный со схемой и реальным поведением сервиса.

Простыми словами

Представьте приложение и сервер, которые развиваются не одновременно: у пользователей могут оставаться старые клиенты, а на сервере уже появился новый код. Хороший API должен переживать такие изменения предсказуемо и не заставлять каждую сторону угадывать правила. Так части системы можно менять по очереди, не превращая каждое изменение в одновременную переделку всего приложения. Поэтому решение оценивают по тому, насколько легко его менять локально, не растаскивая одну правку по всей системе.

Пример от @Vibeclakr

Пример при разработке

Например, для «Пример API как контракт» назначают ответственного и добавляют тест или метрику, по которой видно реальный результат.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Формальное определение

Исполняемый или проверяемый пример запроса и ответа, синхронизированный со схемой и реальным поведением сервиса.

Механизм действия

Для «Пример API как контракт» команда фиксирует область действия, владельца, проверяемый сигнал и поведение при нарушении условия.

Пример в работе

Нерабочий подход

Повторять термин «Пример API как контракт», не объяснив, где он применяется, кто отвечает и по какому признаку видно результат.

Системный подход

Связать «Пример API как контракт» с конкретным сценарием, автоматической или ручной проверкой и правилом пересмотра.

Ограничения

«Пример API как контракт» решает ограниченную задачу и не заменяет проверку соседних рисков, исходных допущений и последствий для всей системы.

Источник

IETF, “RFC 9205: Building Protocols with HTTP”, 2022.

Первоисточник