Wersjonowanie API (Interfejs Programowania Aplikacji) pomaga rozwijać interfejsy i zapewniać wsteczną zgodność podczas zmian, aby zewnętrzni i wewnętrzni klienci nie ulegali awarii przy każdej aktualizacji.
Główne schematy wersjonowania:
/api/v1/resource.Accept: application/vnd.company.v1+json./api/resource?version=2.Zwykle stosuje się podejście z wersją w URL, ponieważ jest ono jasne i przejrzyste dla wszystkich klientów.
Przykład w Node.js (Express):
// Wersja 1 app.get('/api/v1/orders', ordersV1Handler); // Wersja 2 app.get('/api/v2/orders', ordersV2Handler);
Kluczowe cechy:
Czy wystarczy zawsze wspierać tylko najnowszą wersję API?
Nie, użytkownicy starych aplikacji mogą nie mieć możliwości nagłego przejścia na nowy interfejs, dlatego często wspiera się kilka aktualnych wersji.
Czy można dodać z powrotem niekompatybilne zmiany w wersji minor?
Nie, wersje minor powinny być ściśle zgodne z poprzednimi. Zmiany łamiące wymagają zmiany wersji major.
Czy sposób wersjonowania (URL, nagłówki, parametry) wpływa na bezpieczeństwo lub wydajność API?
Nie, samo miejsce przechowywania wersji nie wpływa na charakterystyki techniczne, ale wersjonowanie URL jest łatwiejsze do analizy za pomocą narzędzi monitorujących i wsparcia.