API routování – více verzí API

- japanese
 - Člen | 2
 
Dobrý den,
jak by mělo správně vypadat nastavení rout (a případně adresářová
struktura), pokud bych chtěl mít API, např.
/api/1.0/presenter/action
/api/2.3/presenter/action
Jak se taková aplikace navrhuje z hlediska různých verzí API? Používá se jeden presenter, který se chová různě, podle toho na jakou verzi API byl zaslán dotaz?
Děkuji

- Tharos
 - Člen | 1030
 
To záleží na tom, jak hodně se od sebe takové verze 1.0 a 2.3 liší. :) Jinak řečeno záleží na sémantice Tvého verzování.
Pokud například děláš napříč major verzemi větší změny
s BC breaky a napříč minor verzemi zpětnou kompatibilitu
udržuješ, mohlo by pro Tebe být výhodné mít pro každou major verzi
samostatný modul (v duchu Api:V1:<Presenter>,
Api:V2:<Presenter>…) a ty minor verze si řešit už jen
nějakým parametrem v presenteru…
Ale vhodných přístupů je více. :)
Editoval Tharos (26. 2. 2015 10:14)

- japanese
 - Člen | 2
 
Tharos napsal(a):
To záleží na tom, jak hodně se od sebe takové verze 1.0 a 2.3 liší. :) Jinak řečeno záleží na sémantice Tvého verzování.
Pokud například děláš napříč major verzemi větší změny s BC breaky a napříč minor verzemi zpětnou kompatibilitu udržuješ, mohlo by pro Tebe být výhodné mít pro každou major verzi samostatný modul (v duchu
Api:V1:<Presenter>,Api:V2:<Presenter>…) a ty minor verze si řešit už jen nějakým parametrem v presenteru…Ale vhodných přístupů je více. :)
Díky!