Sobes.tech
Junior

Ce este o API REST?

sobes.tech AI

Răspuns de la AI

API REST este un stil arhitectural pentru construirea sistemelor distribuite. Principiile de bază ale REST:

  • Fără stare: Fiecare solicitare de la client la server trebuie să conțină toate informațiile necesare pentru procesare. Serverul nu păstrează starea clientului între solicitări.
  • Client-Server: Diviziune clară a responsabilităților între client și server. Clientul trimite solicitări, serverul le procesează.
  • Cacheabil: Serverul trebuie să indice dacă răspunsurile pot fi stocate în cache de către client sau intermediari.
  • Sistem în straturi: Clientul nu trebuie neapărat să interacționeze direct cu serverul final; poate face acest lucru prin straturi intermediare (proxy, load balancers).
  • Interfață unificată: Un mod unic și standardizat de a interacționa între client și server. Acest principiu include:
    • Identificarea resurselor: Resursele (datele) sunt identificate prin URL.
    • Manipularea resurselor prin reprezentări: Clientul interacționează cu resursele, obținând reprezentările lor (de exemplu, JSON, XML) și trimițând noi reprezentări pentru modificare.
    • Mesaje auto-descriptive: Fiecare mesaj conține suficiente informații pentru a fi înțeles și procesat.
    • HATEOAS (Hypertext As The Engine Of Application State): Resursele trebuie să conțină linkuri (hiperlinkuri) către resursele conexe și acțiunile disponibile.

REST API utilizează de obicei metode HTTP standard pentru a efectua operații asupra resurselor:

  • GET: Obține o resursă sau o colecție de resurse.
  • POST: Creează o resursă nouă.
  • PUT: Actualizează complet o resursă existentă.
  • PATCH: Actualizează parțial o resursă existentă.
  • DELETE: Șterge o resursă.

Exemplu de reprezentare JSON a unei resurse:

{
  "id": 1, // Identificator
  "name": "Resource Name", // Numele resursei
  "description": "Detailed description of the resource." // Descrierea resursei
}

Testarea API-ului REST include verificarea:

  • Funcționalității (corectitudinea răspunsurilor la solicitări).
  • Gestionarea erorilor.
  • Performanței.
  • Securității.
  • Conformității cu documentația.