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

API Versioning

API Versioning

Изменения контракта управляются совместимостью и явными версиями.

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

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

Пример от @Vibeclakr

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

Мобильное приложение старой версии ждёт поле name, а новый API переименовал его. Версия или совместимая эволюция контракта не дают обновлению сломать старых клиентов.

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

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

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

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

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

Решение принимают без учета механизма «API Versioning», оценивая только ближайший эффект.

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

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

Ограничения

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

Источник

Microsoft. Microsoft REST API Guidelines. 2022.

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