Wersjonowanie interfejsu API REST
Po przeczytaniu wielu materiałów na temat wersjonowania REST mówię o wersjonowaniu wywołań zamiast API. Na przykład:
http://api.mydomain.com/callfoo/v2.0/param1/param2/param3
http://api.mydomain.com/verifyfoo/v1.0/param1/param2
zamiast najpierw mieć
http://api.mydomain.com/v1.0/callfoo/param1/param2
http://api.mydomain.com/v1.0/verifyfoo/param1/param2
potem do
http://api.mydomain.com/v2.0/callfoo/param1/param2/param3
http://api.mydomain.com/v2.0/verifyfoo/param1/param2
Zaletą, którą widzę, są:
Kiedy zmiany się zmieniają, nie muszę przepisywać całego mojego klienta - tylko te części, na które wpływają zmienione połączenia.Te części klienta, które działają dobrze, mogą być kontynuowane bez zmian (zainwestowaliśmy wiele godzin testowych, aby zapewnić zarówno stabilność klienta, jak i serwerów).Mogę używać stałych lub nietrwałych przekierowań dla połączeń, które się zmieniły.Kompatybilność wsteczna byłaby łatwa, ponieważ mogę pozostawić starsze wersje połączeń, jak jest.Czy brakuje mi czegoś? Proszę doradź.