English

O introducere în arhitectura REST API

O introducere în arhitectura REST API
09.03.2022
Atenție: Acest articol are peste un an. Unele informații ar putea fi depășite. Vă recomandăm să citiți documentația recentă sau să discutați cu unul dintre experții noștri.
Un API de tip REST (cunoscut și ca API de tip RESTful) este o interfață de programare a aplicației (API) care utilizează cereri HTTP pentru a accesa datele. De obicei, folosește 4 metode HTTP: GET, PUT, POST, DELETE pentru a citi, actualiza, crea sau șterge o resursă.
Un API este o colecție de metode care permite două aplicații software să comunice și să schimbe date.
Regulile API-urilor REST:
1) REST se bazează pe numele sau substantivul resursei. Un URI al unui API REST ar trebui să se termine întotdeauna cu un substantiv.
2) Metodele HTTP sunt folosite pentru a identifica o acțiune - GET, POST, UPDATE, DELETE
3) O aplicație web trebuie organizată în resurse și verbe HTTP pentru a modifica acele resurse.
4) Folosiți întotdeauna pluralul în URL pentru consecvență
5) Trimiteți un cod HTTP corect pentru a indica succesul sau eroarea

Exemplu de API REST simplu:
api/books GET Obțineți toate cărțile
api/books/new GET Afișați formularul pentru adăugarea unei cărți noi
api/books POST Adăugați o carte nouă
api/books/1 PUT Actualizați o carte cu id = 1
api/books/1/edit GET Afișați formularul de editare pentru carte cu id = 1
api/books/1 DELETE Ștergeți o carte cu id = 1
api/books/1 GET Obțineți o carte cu id = 1


În construirea unui API RESTful, trebuiesc luate în considerare 6 constrângeri arhitecturale REST:
1) Interfață uniformă. Toate resursele trebuie identificate în mod unic printr-o adresă URL și doar folosind metode precum DELETE, PUT, GET, POST cineva poate accesa o resursă. Ar trebui să fie un mod unic de a interacționa cu un server, independent de tipul de dispozitiv sau de aplicație.
2) Stateless. Toate operațiunile trebuie să fie stateless și toată gestionarea stării trebuie să aibă loc pe dispozitivul clientului, nu pe server.
3) Cacheable. Toate resursele ar trebui să permită stocarea în cache
4) Client-Server. Trebuie să existe o distincție clară între client și server. De exemplu, UI este un concept în domeniul clientului și accesul la date și securitatea în domeniul serverului.
5) Sistem stratificat. REST permite o arhitectură compusă din mai multe straturi de servere.
6) Cod la cerere. De obicei, serverul va trimite resurselor clientului sub formă de JSON, dar atunci când este necesar, serverele pot trimite înapoi cod executabil către client.

OPTI Systems simplifică procesul de creare a unui API urmând acești pași:
1) Determinarea cerințelor clientului. Analizăm cerințele și determinăm exact ce trebuie să facă API-ul, performanța așteptată și timpul de răspuns dar și protecția datelor.
2) Proiectarea API-ului. Proiectăm API-ul folosind cele mai recente tendințe tehnologice și având în vedere performanța și ușurința de accesibilitate
3) Dezvoltarea API-ului. OPTI are dezvoltatori cu înaltă calificare și va implementa API-ul în cel mai scurt timp și într-un mod rentabil.
4) Testarea API-ului. Scopul testării API-ului este să se asigure că acesta funcționează în diferite condiții și că securitatea îndeplinește cele mai înalte standarde posibile
5) Publicarea API-ului.
6) Monitorizarea API-ului. După testare și lansare, vom monitoriza API-ul pentru a înțelege cum este utilizat și cum funcționează.

Întrebări rapide

Ce înseamnă că un API REST este 'stateless' (fără stare)?

Înseamnă că serverul nu stochează nicio informație despre sesiunea clientului. Fiecare cerere (request) trimisă de client către server trebuie să conțină toate informațiile necesare pentru a fi înțeleasă și procesată, independent de cererile anterioare.

Care este diferența dintre metodele HTTP POST și PUT?

În general, POST este folosit pentru a crea o resursă nouă (ex: adăugarea unui utilizator nou). PUT este folosit pentru a actualiza o resursă existentă în întregime. Dacă resursa nu există, PUT o poate crea.

Este JSON singurul format de date care poate fi folosit într-un API REST?

Nu, dar este cel mai popular datorită simplității și lizibilității sale. API-urile REST pot folosi și alte formate, precum XML, dar JSON a devenit standardul de facto pentru majoritatea aplicațiilor web moderne.

Care este concluzia (TLDR)?

API-urile REST sunt fundamentale pentru integrarea de date între aplicații web moderne. Respectarea principiilor REST, cum ar fi o interfață uniformă și comunicarea stateless, asigură că API-ul este scalabil, fiabil și ușor de utilizat de către alți dezvoltatori.

Care sunt tehnologiile și metodologiile implicate?

Tehnologii: HTTP (GET, PUT, POST, DELETE), JSON
Metodologii: API REST, Arhitectură software, Integrare de date, Dezvoltare web

Marian Călborean

Articol scris de

Marian Călborean

Manager, arhitect software. PhD. logică

Vezi profil LinkedIn →
Interesat?

Ești interesat?

programează o întâlnire

Cere consultanță gratuită

Noutăți și ghiduri

Mai multe noutăți