Náš REST API slouží třem mobilním aplikacím, dvěma webovým klientům a partnerským systémům. Každý klient má jiný deployment cyklus. Potřebujeme verzování.
Tři strategie¶
URL path: /api/v1/projects — nejčitelnější, snadno se routuje.
Header: Accept: application/vnd.core.v2+json — čistější, ale obtížnější testování.
Query param: ?version=2 — kompromis.
Zvolili jsme URL path versioning — jednoduchost vítězí.
Breaking vs. non-breaking changes¶
- Breaking: Odebrání/přejmenování pole, změna typu → nová verze
- Non-breaking: Přidání pole, nový endpoint, optional parametr → stejná verze
Klíčové: být additive-only co nejdéle. Deprecation process: Sunset header, notifikace klientů, 6 měsíců monitoring, pak vypnutí.
Verzujte od prvního dne¶
Přidání verzování dodatečně je těžší. I s jedním klientem začněte s /api/v1/.