В настоящее время я работаю в команде, которая предоставляет услуги, которые потребляются другой командой в нашей организации.Обе команды активно внедряют свои изменения в наших средах тестирования.Мы пытаемся формализовать, как лучше вносить критические изменения через управление версиями API, не оказывая значительного влияния на потребителей.Мы придумали эти опции
- Ввести версии в URI и позволить потребителю выбрать правильную версию и выбрать, какой API он хочет использовать
- Это означает, что код производителя теперьдолжен обслуживать две разные версии одной и той же конечной точки.
- Пусть потребители согласовывают версию api, которую они хотят, чтобы api обслуживал (больше RESTFUL)
- Это подразумеваетчто производитель должен знать обе версии API и переключаться на использование одной из них в зависимости от того, что клиент запрашивал
- Разрабатывать разные версии API производителя в разных ветвях, развертывать ихотдельно, и пусть маршрут шлюза API между различными версиями на основе клиентов должен
Каково мнение людей об варианте 3. Кто-нибудь использовал шлюзы API (или подобные им) для управления версиями API?
Спасибо, K