Junior
Ce este REST?
sobes.tech AI
Răspuns de la AI
REST (Transferul de Stare Reprezentatională) este un stil arhitectural pentru construirea sistemelor distribuite, utilizat în principal în proiectarea serviciilor web. Se bazează pe un set de principii și restricții care definesc modul în care resursele web interacționează între ele.
Principiile cheie ale REST:
- Client-server: Diviziune clară a responsabilităților între client și server.
- Fără stare (stateless): Serverul nu stochează informații despre starea clientului între solicitări. Fiecare solicitare conține toate informațiile necesare pentru procesare.
- Cache-abil (cacheable): Clienții pot stoca în cache răspunsurile serverului pentru a îmbunătăți performanța. Serverul indică în mod explicit dacă răspunsul poate fi cache-uit.
- Sistem în straturi: Clientul poate interacționa cu un strat intermediar (de exemplu, proxy, echilibru de sarcină) fără a fi conștient de acest lucru.
- Cod la cerere (opțional): Serverul poate transmite cod executabil către client (de exemplu, JavaScript), extinzând funcționalitatea clientului.
- Interfață uniformă: Cel mai important principiu, care include:
- Identificarea resurselor (URI).
- Manipularea resurselor prin reprezentări (schimb de date într-un format definit, de exemplu JSON, XML).
- Mesaje auto-descriptive (mesajele conțin toate informațiile necesare pentru înțelegerea lor).
- HATEOAS (Hypermedia ca Motor al Stării Aplicației): Clientul navighează între stările aplicației folosind hiperlink-uri conținute în răspunsurile serverului.
API RESTful este o implementare a stilului REST pentru serviciile web, utilizând metode HTTP standard (GET, POST, PUT, DELETE) pentru a lucra cu resurse.
// Exemplu de utilizare a metodelor HTTP în API RESTful
// Obțineți resursa
// GET /api/products/1
// Creați resursa
// POST /api/products
// Corp: { "name": "Produs Nou", "price": 10.50 }
// Actualizați resursa
// PUT /api/products/1
// Corp: { "name": "Produs Actualizat", "price": 11.00 }
// Ștergeți resursa
// DELETE /api/products/1