API a POSTMAN
Co je API?
obvykle slouží ke zprostředkování nějakých dat
komunikace mezi serverem a klientem (mobil, pc, ...)
zprostředkovatel dat
K čemu?
uvnitř firmy
pochopení co dělají vývojáři
otestování funkcionality
rozmyšlení o produktech a jak je stavět
komunikace s 3. stranou
ven
monetizace api
jak tvořit dobré produkty
získání informací nebo automatizace, kterou běžně nepřináší samotná aplikace
Základ - http request
Je to jenom dopis
Základ - http request
složen z požadavku a odpovědi
hlavička - vlastně pravá strana pohlednice
adresa kam doručit (url)
typ požadavku
další meta informace
např. kdo jsem (podpis)
tělo
obsahuje samotnou
zprávu
vlastně stejné pro
požadavek i response
API
u 99,9 % aplikací se nejedná o nic jiného než posílání dopisů (možná komunikace prostřednictvím jiných protokolů)
různé druhy API
REST API (JSON jako body)
založeno na získávání informací na základě url
Graphql
(JSON jako body
)
vlastní query language a přesná specifikace modelů
SOAP
(xml jako body
)
asi nejdál, kombinace REST API a Graphql, nejstarší ale nepoužívá se dnes moc
REST API
it is simply easy
😭 ale stejně to dělají skoro všichni blbě
books API
GET /books - získej seznam knih
POST /books - přidej novou knihu
GET /books/1 - dej mi knihu s id 1
GET /books/1/authors - dej mi autory knihy
Graphql
prostě jedna url - /graphql
vlastní "jazyk" na dotazování (něco jako SQL)
tento dotaz je poslán v těle požadavku
příklad
https://countries.trevorblades.com/
{ continents { code name countries { name emojiU } } }
Co je klíčové - dokumentace
Graphql - out of the box - vychází z definice dle jazyka
REST API
je zapotřebí psát zároveň aktuální dokumentaci
náročný úkol udržet dokumentaci up to date
potřebujeme kvůli tomu aby ostatní mohli jednoduše konzumovat
v čem?
swagger standart -
https://ur.mallaws.qestapp.cz/swagger/#/
apiary -
https://pandurangpatil.docs.apiary.io/
Autentizace
všechny informace nejsou pro všechny
je zapotřebí říct že jsem to já
metody - prostě jen tajný kód do hlavičky dopisu (podepíšu se)
hlavička se jmenuje authorization
metody
BASIC - jednoduché prostě dáte svoje heslo
OAuth 2 - proces přihlášení kde dostanu dočasné heslo (token)
Jak si hrát s API
REST API
POSTMAN
přímo z dokumentace swagger nebo apiary
Graphql
playground -
https://countries.trevorblades.com/
Pojďme si hrát!