Что такое Версионирование API
Управление версиями API
Версионирование API
Версионирование API — практика управления изменениями в API с сохранением обратной совместимости для существующих клиентов.
Стратегии версионирования
| Стратегия | Пример | Описание | |-----------|--------|----------| | URL Path | /api/v1/users | Версия в пути URL | | Query Parameter | /api/users?version=1 | Версия в параметре | | Header | X-API-Version: 1 | Версия в заголовке | | Content Type | Accept: application/vnd.api.v1+json | Media type версия |
Семантическое версионирование
- Major (v1→v2) — ломающие изменения
- Minor (v1.1→v1.2) — новый функционал, обратная совместимость
- Patch (v1.1.0→v1.1.1) — исправления багов
Лучшие практики
- Документировать все изменения (changelog)
- Поддерживать минимум 2 версии
- Уведомлять о deprecation заранее
- Использовать sunset headers
- Предоставлять инструменты миграции
Когда нужна новая версия
- Удаление полей или эндпоинтов
- Изменение формата ответа
- Изменение семантики параметров
- Смена аутентификации