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

 

 

{
  continents {
    code
    name
    countries {
      name
      emojiU
    }
  }
}

Co je klíčové - dokumentace

 

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

Pojďme si hrát!

API a postman

By Radim Štěpaník

API a postman

  • 429