версионирование API

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

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

Версия обычно указывается в пути URL ( /v1 /, /v2 /), иногда в заголовке или типе носителя Accept, изредка в виде даты. Некритичные изменения — новые необязательные поля, новые конечные точки — включаются в версию. Когда старая версия выводится из эксплуатации, провайдер объявляет об этом заранее, часто с заголовками Deprecation и Sunset в своих ответах.

Заблуждение

Добавление поля всегда безопасно. Это касается клиентов, которые игнорируют неизвестные поля, и нарушает работу таких клиентов при использовании строгих десериализаторов или тестов на основе снимков. Что считается "breaking" зависит от того, что фактически делают клиенты, поэтому поставщики публикуют свои правила совместимости.

Попробуйте здесь.

API для друзей поддерживает обе версии: запрос GET /friends/v1/characters помечен как устаревший, а запрос GET /friends/v2/characters переименовывает job в occupation и переформатирует список; запрос GET /friends/version отображает поддерживаемые версии.

Источники

Другие термины

Читать страницу на английском

Все термины · Приёмы тестирования · Все 39 mock REST API

Последнее обновление