Sobes.tech
Junior

Ce API-uri pot fi considerate RESTful?

sobes.tech AI

Răspuns de la AI

API-urile RESTful respectă principiile stilului arhitectural REST:

  • Client-server: Separarea responsabilităților între client, care solicită resursele, și server, care le furnizează.
  • Fără stare (Stateless): Fiecare solicitare de la client către server trebuie să conțină toate informațiile necesare pentru procesare. Serverul nu păstrează starea sesiunii clientului.
  • Cache-abil: Serverul trebuie să indice explicit sau implicit dacă răspunsurile pot fi stocate în cache de către client sau intermediari.
  • Sistem în straturi: Clientul nu poate distinge între o apelare directă la server și o apelare prin straturi intermediare (proxy, echilibrare a încărcării etc.).
  • Cod la cerere (opțional): Serverul poate extinde temporar funcționalitatea clientului transmitând cod executabil (de exemplu, JavaScript).
  • Interfață uniformă: Cel mai important principiu al API-urilor RESTful. Constă în patru restricții:
    • Identificarea resurselor: Resursele sunt identificate prin URL-uri.
    • Manipularea resurselor prin reprezentări: Clientul interacționează cu resursele obținând reprezentările lor (de exemplu, în format JSON, XML).
    • Mesaje auto-descriptive: Fiecare mesaj conține suficiente informații pentru a fi procesat, inclusiv metadate despre modul de procesare a mesajului și resursei.
    • HATEOAS (Hypermedia as the Engine of Application State): Serverul trebuie să conțină linkuri în răspunsurile sale, care permit clientului să descopere acțiuni disponibile și să navigheze între stările aplicației. Acesta este cel mai rar respectat principiu.

API-urile RESTful utilizează metode HTTP standard (GET, POST, PUT, DELETE, PATCH) pentru operații asupra resurselor, identificate prin URI-uri.

De exemplu, o solicitare GET la /api/users/123 obține reprezentarea utilizatorului cu ID-ul 123.