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.