Управление версиями REST API

После прочтения большого количества материалов по управлению версиями REST я думаю об управлении версиями вызовов вместо API. Например:

http://api.mydomain.com/callfoo/v2.0/param1/param2/param3
http://api.mydomain.com/verifyfoo/v1.0/param1/param2

вместо того, чтобы сначала иметь

http://api.mydomain.com/v1.0/callfoo/param1/param2
http://api.mydomain.com/v1.0/verifyfoo/param1/param2

, а затем переходить к

http://api.mydomain.com/v2.0/callfoo/param1/param2/param3
http://api.mydomain.com/v2.0/verifyfoo/param1/param2

. Преимущество, которое я вижу:

  • Когда вызовы меняются, мне не нужно переписывать весь мой клиент — только те части, которые затронуты измененные вызовы.
  • Те части клиента, которые работают хорошо, могут продолжать работать как есть (мы потратили много часов на тестирование, чтобы гарантировать стабильность как клиентской, так и серверной части).
  • Я могу использовать постоянные или непостоянные перенаправления для звонки, которые изменились.
  • Обратная совместимость будет проще простого, так как я могу оставить старые версии вызовов как есть.

Я что-то упустил? Пожалуйста, порекомендуйте.

31
задан Ram Iyer 24 May 2012 в 17:39
поделиться