R reprezentativ S tate T ransfer (REST) este un stil arhitectural care definește un set de constrângeri care trebuie utilizate pentru crearea de servicii web. API-ul REST este o modalitate de a accesa serviciile web într-un mod simplu și flexibil fără a avea nicio prelucrare.
Tehnologia REST este, în general, preferată tehnologiei mai robuste Simple Object Access Protocol (SOAP), deoarece REST utilizează mai puțină lățime de bandă, simplă și flexibilă, făcându-l mai potrivit pentru utilizarea internetului. Este folosit pentru a prelua sau oferi unele informații de la un serviciu web. Toate comunicațiile efectuate prin API-ul REST utilizează numai cererea HTTP.
Lucru: O solicitare este trimisă de la client la server sub forma unei adrese URL web ca cerere HTTP GET sau POST sau PUT sau DELETE. După aceea, un răspuns revine de la server sub forma unei resurse care poate fi ceva de genul HTML, XML, Image sau JSON. Dar acum JSON este cel mai popular format folosit în serviciile web.
Construiește REST API Mastery Învață să integrezi API-urile Python REST populare și practice în aplicațiile web Django cu calea interactivă a competențelor Educative Deveniți un integrator API bazat pe Python. Înscrie-te la Educative.io cu codul GEEKS10 pentru a economisi 10% la abonament.
În HTTP Există cinci metode care sunt utilizate în mod obișnuit într-o arhitectură bazată pe REST și anume POST, GET, PUT, PATCH și DELETE. Acestea corespund operațiunilor de creare, citire, actualizare și ștergere (sau, respectiv, CRUD). Există și alte metode care sunt utilizate mai rar, cum ar fi OPȚIUNI și HEAD.
- OBȚINE: Metoda HTTP GET este folosită pentru citit (sau a prelua) o reprezentare a unei resurse. În calea sigură, GET returnează o reprezentare în XML sau JSON și un cod de răspuns HTTP de 200 (OK). Într-un caz de eroare, de cele mai multe ori returnează un 404 (NEGĂSIT) sau 400 (CERERE REA).
- POST: Verbul POST este cel mai des folosit to crea resurse noi. În special, este folosit pentru a crea resurse subordonate. Adică, subordonat unei alte resurse (de exemplu, părinte). La crearea cu succes, returnați starea HTTP 201, returnând un antet Locație cu un link către resursa nou creată cu starea HTTP 201.
NOTĂ: POST nu este nici sigur, nici idempotent.
- A PUNE: Este folosit pentru actualizare capacitățile. Cu toate acestea, PUT poate fi folosit și pentru crea o resursă în cazul în care ID-ul resursei este ales de client în loc de server. Cu alte cuvinte, dacă PUT-ul este la un URI care conține valoarea unui ID de resursă inexistent. La o actualizare reușită, returnați 200 (sau 204 dacă nu returnați niciun conținut în corp) de la un PUT. Dacă utilizați PUT pentru creare, returnați starea HTTP 201 la crearea cu succes. PUT nu este o operație sigură, dar este idempotent.
- PLASTURE: Este obișnuit modifica capabilități. Solicitarea PATCH trebuie să conțină doar modificările aduse resursei, nu resursa completă. Aceasta seamănă cu PUT, dar corpul conține un set de instrucțiuni care descriu modul în care o resursă care se află în prezent pe server ar trebui să fie modificată pentru a produce o nouă versiune. Aceasta înseamnă că corpul PATCH nu ar trebui să fie doar o parte modificată a resursei, ci într-un fel de limbaj de corecție precum JSON Patch sau XML Patch. PATCH nu este nici sigur, nici idempotent.
- ȘTERGE: Este obișnuit șterge o resursă identificată printr-un URI. La ștergerea cu succes, returnați starea HTTP 200 (OK) împreună cu corpul răspunsului.
Idempotenta: O metodă HTTP idempotent este o metodă HTTP care poate fi apelată de mai multe ori fără rezultate diferite. Nu ar conta dacă metoda este apelată doar o dată sau de zece ori. Rezultatul ar trebui să fie același. Din nou, acest lucru se aplică numai rezultatului, nu resursei în sine.
Exemplu:
C
port de ascultare
1. a = 4> // It is Idempotence, as final value(a = 4)> > // would not change after executing it multiple> > // times.> 2. a++> // It is not Idempotence because the final value> > // will depend upon the number of times the> > // statement is executed.> |
>
>
Cerere și Răspuns
Acum vom vedea cum funcționează cererea și răspunsul pentru diferite HTTP metode. Să presupunem că avem un API( https://www.techcodeview.com ) pentru toți studenții datele gfg.
- OBȚINE: Solicitare pentru toți studenții.
Cerere |
GET:/api/students |
- POST: Solicitare de postare/creare/inserare de date
Cerere |
POST:/api/studenti {nume:Raj} |
- PUT sau PATCH: Solicitare de actualizare a datelor la id=1
Cerere |
PUT sau PATCH:/api/students/1 {nume:Raj} |
- ȘTERGE: Solicitare de ștergere a datelor pentru id=1
Cerere |
DELETE:/api/students/1 |
Serviciile web RESTful sunt foarte populare deoarece sunt ușoare, foarte scalabile și ușor de întreținut și sunt foarte frecvent utilizate pentru a crea API-uri pentru aplicații bazate pe web.