Junior
Aké API možno označiť za RESTful?
sobes.tech AI
Odpoveď od AI
RESTful API-ky dodržujú princípy architektonického štýlu REST:
- Klient-server: Oddelenie zodpovedností medzi klientom, ktorý žiada zdroje, a serverom, ktorý ich poskytuje.
- Bezstavový (Stateless): Každá požiadavka od klienta na server musí obsahovať všetky potrebné informácie na jej spracovanie. Server neukladá stav relácie klienta.
- Cacheable (Cacheovateľné): Server musí jasne alebo implicitne uviesť, či môžu byť odpovede uložené do cache klientom alebo sprostredkovateľmi.
- Systém vrstiev: Klient nemôže rozlíšiť medzi priamym volaním servera a volaním cez medzi vrstvy (proxy, load balancer atď.).
- Kód na požiadanie (voliteľné): Server môže dočasne rozšíriť funkčnosť klienta prenášaním spustiteľného kódu (napríklad JavaScript).
- Jednotný rozhranie: Najdôležitejší princíp RESTful API. Skladá sa zo štyroch obmedzení:
- Identifikácia zdrojov: Zdroje sú identifikované pomocou URL.
- Manipulácia so zdrojmi prostredníctvom reprezentácií: Klient interaguje so zdrojmi získavaním ich reprezentácií (napríklad vo formáte JSON, XML).
- Samostatne popisujúce sa správy: Každá správa obsahuje dostatok informácií na spracovanie, vrátane metadát o tom, ako spracovať správu a zdroj.
- HATEOAS (Hypermedia as the Engine of Application State): Server by mal obsahovať hypertextové odkazy vo svojich odpovediach, ktoré umožnia klientovi objaviť dostupné akcie a prechádzať medzi stavmi aplikácie. Toto je najmenej často dodržiavané pravidlo.
RESTful API používajú štandardné metódy HTTP (GET, POST, PUT, DELETE, PATCH) na operácie nad zdrojmi, identifikovanými URI.
Napríklad, GET požiadavka na /api/users/123 získa reprezentáciu používateľa s ID 123.