Junior
Co je to REST?
sobes.tech AI
Odpověď od AI
REST (Representační přenos stavu) je architektonický styl pro budování distribuovaných systémů, který se hlavně používá při navrhování webových služeb. Je založen na souboru principů a omezení, která určují, jak webové zdroje spolu komunikují.
Klíčové principy REST:
- Klient-server: Jasné rozdělení odpovědností mezi klientem a serverem.
- Bezstavový (stateless): Server neukládá informace o stavu klienta mezi požadavky. Každý požadavek obsahuje všechny potřebné informace pro zpracování.
- Cacheovatelné: Klienti mohou ukládat odpovědi serveru do mezipaměti pro zvýšení výkonu. Server jasně uvádí, zda odpověď může být cacheována.
- Vrstvený systém: Klient může komunikovat s mezivrstvou (například proxy, load balancer) aniž by o tom věděl.
- Kód na vyžádání (volitelné): Server může přenášet spustitelný kód klientovi (například JavaScript), čímž rozšiřuje funkčnost klienta.
- Jednotné rozhraní: Nejvýznamnější princip, který zahrnuje následující omezení:
- Identifikace zdrojů (URI).
- Manipulace se zdroji přes reprezentace (výmena dat v určitém formátu, například JSON, XML).
- Samo-vysvětlující zprávy (zprávy obsahují všechny potřebné informace pro jejich pochopení).
- HATEOAS (Hypermedia jako motor stavu aplikace): Klient přechází mezi stavy aplikace pomocí hypertextových odkazů obsažených v odpovědích serveru.
RESTful API je implementace stylu REST pro webové služby, která používá standardní HTTP metody (GET, POST, PUT, DELETE) pro práci s zdroji.
// Příklad použití HTTP metod v RESTful API
// Získat zdroj
// GET /api/products/1
// Vytvořit zdroj
// POST /api/products
// Tělo: { "name": "Nový produkt", "price": 10.50 }
// Aktualizovat zdroj
// PUT /api/products/1
// Tělo: { "name": "Aktualizovaný produkt", "price": 11.00 }
// Odstranit zdroj
// DELETE /api/products/1