Sobes.tech
Junior

Které API lze nazvat RESTful?

sobes.tech AI

Odpověď od AI

RESTful API jsou v souladu s principy architektonického stylu REST:

  • Klient-server: Oddělení odpovědností mezi klientem, který žádá zdroje, a serverem, který je poskytuje.
  • Bezstavový (Stateless): Každý požadavek od klienta na server musí obsahovat všechny potřebné informace k jeho zpracování. Server neukládá stav relace klienta.
  • Cacheable (Cacheovatelné): Server musí výslovně nebo implicitně uvést, zda mohou být odpovědi ukládány do mezipaměti klientem nebo prostředníky.
  • Systém v vrstvách: Klient nemůže rozpoznat mezi přímým voláním serveru a voláním přes mezivrstvu (proxy, load balancer atd.).
  • Kód na požádání (volitelné): Server může dočasně rozšířit funkčnost klienta přenosem spustitelného kódu (například JavaScript).
  • Jednotné rozhraní: Nejvýznamnější princip RESTful API. Skládá se ze čtyř omezení:
    • Identifikace zdrojů: Zdroje jsou identifikovány pomocí URL.
    • Manipulace se zdroji přes reprezentace: Klient komunikuje se zdroji získáváním jejich reprezentací (například ve formátu JSON, XML).
    • Samostatně popisující se zprávy: Každá zpráva obsahuje dostatek informací pro zpracování, včetně metadat o tom, jak zpracovat zprávu a zdroj.
    • HATEOAS (Hypermedia as the Engine of Application State): Server by měl obsahovat hypertextové odkazy ve svých odpovědích, které umožní klientovi objevit dostupné akce a přecházet mezi stavy aplikace. To je nejméně často dodržovaný princip.

RESTful API používají standardní metody HTTP (GET, POST, PUT, DELETE, PATCH) pro operace nad zdroji identifikovanými URI.

Například, GET požadavek na /api/users/123 získá reprezentaci uživatele s ID 123.