SlideShare a Scribd company logo
1 of 17
Download to read offline
Ako postaviť frontend nad
kvalitným API
VOL.7
sli.do
#FMKE7
Martin Čuchta
sli.do #FMKE7
Kde je dokumentácia?
KolegaPDF
sli.do #FMKE7
http://api.com/docs
sli.do #FMKE7
GET /products/{product_id}
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
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
sli.do #FMKE7
sli.do #FMKE7
Čo ak sa API zmení?
sli.do #FMKE7
Generovanie všeobecne
Model Generátor Kód
Šablóna
sli.do #FMKE7
Swagger.yaml
informácie o každom endpointe
ľahko parsovateľné
stále aktuálne
/docs sa generujú zo
swagger.yaml
sli.do #FMKE7
Generujeme API triedu
swagger.json swagger-js-codegen JavaScript
{{ mustache }}
sli.do #FMKE7
Generujeme iné API triedy
swagger.json
swagger-js-codegen Swift
TypeScript
C#
swagger-js-codegen
swagger-js-codegen
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
sli.do #FMKE7
Použitie
sli.do #FMKE7
package.json
sli.do #FMKE7
Prešli sme dlhú cestu …
sli.do #FMKE7
Ďakujem!

More Related Content

More from bart-sk

Digitálne zážitky v internetových obchodoch v roku 2018
Digitálne zážitky v internetových obchodoch v roku 2018Digitálne zážitky v internetových obchodoch v roku 2018
Digitálne zážitky v internetových obchodoch v roku 2018bart-sk
 
Frontend Developer v roku 2018
Frontend Developer v roku 2018Frontend Developer v roku 2018
Frontend Developer v roku 2018bart-sk
 
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiťČo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiťbart-sk
 
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiťČo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiťbart-sk
 
Ako sme prerábali košík - zachej.sk
Ako sme prerábali košík - zachej.skAko sme prerábali košík - zachej.sk
Ako sme prerábali košík - zachej.skbart-sk
 
Frontend Masters Košice - oAuth
Frontend Masters Košice - oAuthFrontend Masters Košice - oAuth
Frontend Masters Košice - oAuthbart-sk
 
9 typov ako zvýšiť úspešnosť vášho eshopu
9 typov ako zvýšiť úspešnosť vášho eshopu9 typov ako zvýšiť úspešnosť vášho eshopu
9 typov ako zvýšiť úspešnosť vášho eshopubart-sk
 
Frontend Masters Košice - Zeplin v praxi
Frontend Masters Košice - Zeplin v praxiFrontend Masters Košice - Zeplin v praxi
Frontend Masters Košice - Zeplin v praxibart-sk
 
Frontend Masters Košice - Debuggovanie a optimalizácia react.js aplikácií
Frontend Masters Košice - Debuggovanie a optimalizácia react.js aplikáciíFrontend Masters Košice - Debuggovanie a optimalizácia react.js aplikácií
Frontend Masters Košice - Debuggovanie a optimalizácia react.js aplikáciíbart-sk
 
Frontend Masters Košice - Styled Components
Frontend Masters Košice - Styled ComponentsFrontend Masters Košice - Styled Components
Frontend Masters Košice - Styled Componentsbart-sk
 

More from bart-sk (10)

Digitálne zážitky v internetových obchodoch v roku 2018
Digitálne zážitky v internetových obchodoch v roku 2018Digitálne zážitky v internetových obchodoch v roku 2018
Digitálne zážitky v internetových obchodoch v roku 2018
 
Frontend Developer v roku 2018
Frontend Developer v roku 2018Frontend Developer v roku 2018
Frontend Developer v roku 2018
 
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiťČo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
 
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiťČo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
Čo je to použiteľnosť webu a 5 tipov ako ju zlepšiť
 
Ako sme prerábali košík - zachej.sk
Ako sme prerábali košík - zachej.skAko sme prerábali košík - zachej.sk
Ako sme prerábali košík - zachej.sk
 
Frontend Masters Košice - oAuth
Frontend Masters Košice - oAuthFrontend Masters Košice - oAuth
Frontend Masters Košice - oAuth
 
9 typov ako zvýšiť úspešnosť vášho eshopu
9 typov ako zvýšiť úspešnosť vášho eshopu9 typov ako zvýšiť úspešnosť vášho eshopu
9 typov ako zvýšiť úspešnosť vášho eshopu
 
Frontend Masters Košice - Zeplin v praxi
Frontend Masters Košice - Zeplin v praxiFrontend Masters Košice - Zeplin v praxi
Frontend Masters Košice - Zeplin v praxi
 
Frontend Masters Košice - Debuggovanie a optimalizácia react.js aplikácií
Frontend Masters Košice - Debuggovanie a optimalizácia react.js aplikáciíFrontend Masters Košice - Debuggovanie a optimalizácia react.js aplikácií
Frontend Masters Košice - Debuggovanie a optimalizácia react.js aplikácií
 
Frontend Masters Košice - Styled Components
Frontend Masters Košice - Styled ComponentsFrontend Masters Košice - Styled Components
Frontend Masters Košice - Styled Components
 

Frontend Masters Košice - Ako postaviť frontend nad kvalitným API