Junior
Čo je REST?
sobes.tech AI
Odpoveď od AI
REST (Reprezentatívny prenos stavu) je architektonický štýl na budovanie distribuovaných systémov, ktorý sa hlavne používa pri navrhovaní webových služieb. Je založený na súbore princípov a obmedzení, ktoré určujú, ako webové zdroje medzi sebou komunikujú.
Kľúčové princípy REST:
- Klient-server: Jasné rozdelenie zodpovedností medzi klientom a serverom.
- Bezstavový (stateless): Server neukladá informácie o stave klienta medzi požiadavkami. Každá požiadavka obsahuje všetky potrebné informácie na spracovanie.
- Cacheovateľný: Klienti môžu ukladať do cache odpovede servera na zlepšenie výkonu. Server jasne uvádza, či odpoveď môže byť cacheovaná.
- Vrstvený systém: Klient môže komunikovať s medzivrstvou (napríklad proxy, load balancer) bez toho, aby o tom vedel.
- Kód na požiadanie (voliteľné): Server môže prenášať spustiteľný kód klientovi (napríklad JavaScript), čím rozširuje funkčnosť klienta.
- Jednotný rozhranie: najdôležitejší princíp, ktorý zahŕňa nasledovné obmedzenia:
- Identifikáciu zdrojov (URI).
- Manipuláciu so zdrojmi prostredníctvom reprezentácií (výmena dát v určenom formáte, napríklad JSON, XML).
- Samoopisujúce sa správy (správy obsahujú všetky potrebné informácie na ich pochopenie).
- HATEOAS (Hypermedia ako motor stavu aplikácie): Klient prechádza medzi stavmi aplikácie pomocou hypertextových odkazov obsiahnutých v odpovediach servera.
RESTful API je implementácia štýlu REST pre webové služby, ktorá využíva štandardné HTTP metódy (GET, POST, PUT, DELETE) na prácu s zdrojmi.
// Príklad použitia HTTP metód v RESTful API
// Získať zdroj
// GET /api/products/1
// Vytvoriť zdroj
// POST /api/products
// Telo: { "name": "Nový produkt", "price": 10.50 }
// Aktualizovať zdroj
// PUT /api/products/1
// Telo: { "name": "Aktualizovaný produkt", "price": 11.00 }
// Vymazať zdroj
// DELETE /api/products/1