5. sli.do #FMKE7
Implementujeme API po starom
api hostname sa nám opakuje
závislosť na konkrétnej knižnici pre http requesty (fetch)
ak sa zmení endpoint, musíme ho ručne opraviť na všetkých
miestach
žiadna validácia parametrov
6. sli.do #FMKE7
Riešenie?
použijeme .env, kde si uchováme API hostname
vytvoríme si pre každý endpoint funkciu, ktorú budeme volať
parametre tejto funkcie budú URL parametrami
neriešime závislosť na knižnici v celom projekte
v tejto funkcii si môžeme validovať parametre
zabalíme si túto množinu funkcií do triedy, v ktorej centrálne vyriešime
autorizáciu
12. sli.do #FMKE7
Generujeme iné API triedy
swagger.json
swagger-js-codegen Swift
TypeScript
C#
swagger-js-codegen
swagger-js-codegen
13. sli.do #FMKE7
Proces generovania
1. získame API URL pre aktuálny environment
2. stiahneme najnovší swagger.json
3. importujeme (custom) mustache šablóny
4. generujeme triedu pomocou swagger-js-codegen
5. formátujeme kód pomocou Prettier
6. uložíme priamo do zdrojákov projektu