Sobes.tech
Junior — Middle

Môžeš vysvetliť základné princípy architektúry REST a ako sa implementujú pri vývoji API?

sobes.tech AI

Odpoveď od AI

REST (Reprezentatívny Stav Prenosu) je architektonický štýl na tvorbu webových služieb, založený na rade princípov:

  • Klient-server architektúra: klient a server sú oddelení, čo uľahčuje vývoj a škálovanie.
  • Bezstavový (stateless): každý požiadavka od klienta na server musí obsahovať všetky potrebné informácie, server neukladá stav medzi požiadavkami.
  • Cacheovanie: odpovede môžu byť uložené v cache na zvýšenie výkonu.
  • Jednotné rozhranie: používanie štandardných HTTP metód (GET, POST, PUT, DELETE) na operácie s prostriedkami.
  • Identifikácia prostriedkov cez URI: každý prostriedok má jedinečnú adresu.
  • Viacvrstvový systém: architektúra môže pozostávať z viacerých vrstiev, ako proxy, gateway.

Pri vývoji REST API sa tieto princípy implementujú takto:

  • Prostriedky (napríklad používatelia, produkty) sú reprezentované vo forme URL, napríklad /users/123.
  • Používajú sa HTTP metódy: GET na získanie, POST na vytvorenie, PUT/PATCH na aktualizáciu, DELETE na odstránenie.
  • Server neukladá relácie, všetky údaje na spracovanie požiadavky sa prenášajú v ňom.
  • Odpovede môžu obsahovať hlavičky pre cache.
  • Formáty dát sú zvyčajne JSON alebo XML.

Príklad požiadavky na získanie používateľa:

GET /users/123 HTTP/1.1
Host: example.com
Accept: application/json

Odpoveď:

{
  "id": 123,
  "name": "Ivan Ivanov"
}