metode HTTP pentru a crea servicii odihnitoare

verbe HTTP formează partea principală a „interfața unică“, care restricționează și permite să efectueze operațiuni pe o resursă de fond. Cele primare sau cel mai frecvent folosit verbele HTTP (sau metode, așa cum sunt numite uneori) sunt POST, GET, PUT, și DELETE. Acestea corespund pentru a crea, citi, actualiza și șterge (sau colectiv - CRUD). Apoi, există alte verbe, dar ele sunt utilizate mai rar. Dintre metodele utilizate OPTIONS mai puțin frecvent alocate și HEAD

Mai jos este un tabel rezumat al recomandărilor privind valoarea returnată folosind verbe HTTP de bază în conjuncție cu URI-ul resursei:

Resource (de exemplu / clienții)

Instanță (de exemplu / clienții /)

200 (OK), lista de clienți. Utilizați paginare, sortare și filtrare pentru liste mari.

200 (OK), un anumit client. 404 (Not Found), în cazul în care nu există nici un caz de ID-ul specificat sau în cazul în care nu este corectă (și, în cazul în care clientul nu este permis să știe despre disponibilitatea acestui exemplu).

404 (Not Found), în cazul în care a existat o încercare de a actualiza / înlocui copia întreaga colecție.

200 (OK) sau 204 (Niciun conținut). 404 (Not Found), în cazul în care nu există nici un caz de ID-ul specificat sau în cazul în care nu este corectă (și, în cazul în care clientul nu este permis să știe despre disponibilitatea acestui exemplu).

201 (Creat), titlul de „Locație“ se referă la / clienții /, în cazul în care ID - ID-ul noii instanțe.

404 (Not Found), dacă doriți să ștergeți colecția în întregime, care este extrem de nedorit.

200 (OK) sau 204 (Niciun conținut). 404 (Not Found), în cazul în care nu există nici un caz de ID-ul specificat sau în cazul în care nu este corectă (și, în cazul în care clientul nu este permis să știe despre disponibilitatea acestui exemplu).

O discuție mai detaliată a metodelor HTTP de bază. Utilizați filele de navigare pentru mai multe informații despre metoda HTTP interesat.

Conform caietului de sarcini HTTP, GET (precum HEAD), cererile sunt folosite doar pentru a citi datele, nu le schimba. Astfel, în conformitate cu acordul, acestea sunt considerate sigure. Adică, ele pot fi folosite fără riscul de modificări de date, indiferent dacă, odată ce datele au fost primite, sau 10, sau niciodată deloc. EEG (precum și capului) cererile sunt în idempotente (identice), ceea ce înseamnă obținerea de date ideintichnyh folosind una dintre TER și aceeași interogare (ca într-un singur tratament, și la repetat).

Nu utilizați ajunge la operații nesigure pe date, pentru o anumită interogare, acestea nu ar trebui să fie modificate.

Metoda PUT este utilizată în mod obișnuit pentru a permite actualizarea resursei. Organismul cerere PUT-trimiterea cerere la resursa existenta URI ar trebui să conțină datele actualizate ale resursei originale (parte complet actualizat sau numai).

Pentru a crea un nou instanțe de resurse ispolzozvanie preferat cerere POST. În acest caz, atunci când o instanță va fi dat instanța corectă a resurselor identfikator în datele returnate de către instanță.

După actualizarea cu succes prin efectuarea unei PUT cerere returnează codul 200 (sau 204, sau în cazul în care un conținut în corp de răspuns nu a fost transmis). Dacă PUT este folosit pentru a crea o instanță - returnează, de obicei, un cod HTTP 201 la crearea cu succes. Întoarcere date ca răspuns la o solicitare nu este necesară. De asemenea, nu se întorc în mod necesar o trimitere la o instanță a resursei de `Location` titlu datorită faptului că clientul, și așa are ID-ul instanță a resursei.

operațiune PUT nu este sigur, ca urmare a punerii sale în aplicare este modificat (sau crearea) instanțe de resurse pe partea de server, dar această metodă este idempotente. Cu alte cuvinte, actualizarea de creare sau de resurse prin trimiterea unei cereri PUT - dispare resursa, va fi amplasat în același loc unde a fost la primul apel, precum și execuția repetată a aceleiași cereri PUT nu schimbă starea generală a sistemului (cu excepția prima dată, dar este de obicei omisă din luarea în considerare)

cerere POST este cel mai des folosit pentru a crea noi resurse. În practică, se utilizează pentru a crea resurse imbricate. Cu alte cuvinte, atunci când creați o nouă resursă, cererea POST este trimisă la resursa mamă și, prin urmare, serviciul își asumă responsabilitatea de a stabili o conexiune pentru a crea resurse din resursa mamă atribuită nouă identitate de resurse etc.

POST nu este sigură sau idempotente cerere. Prin urmare, se recomandă utilizarea pentru cererile de non-idempotente. Ca urmare a solicitărilor POST identice cu condiția foarte asemănătoare, dar nu ideintichnye date.

cereri de ștergere este foarte simplu de înțeles. Este utilizat pentru a elimina resursa identificată printr-un anumit URI (ID).

După eliminarea cu succes returnează 200 (OK) codul HTTP, împreună cu datele de resurse de la distanță corpul răspunsului sodarzhaschim (impact negativ asupra economiei traficului) sau răspunsurile înfășurată (vezi „Date Return“). De asemenea, este posibil să se utilizeze un cod HTTP 204 (NO CONTINUT), fără corpul de răspuns.

Conform caietului de sarcini HTTP, DELETE cerere este idempotente. Dacă efectuați o cerere DELETE la resursa, acesta este eliminat. Re-DELETE cerere resursa peste ca: resursa îndepărtată. În cazul în care cererea DELETE este folosita pentru a decrementa contorul, DELETE cerere nu este idempotente. Utilizați POST pentru operațiuni non-idempotente.

Cu toate acestea, există un avertisment cu privire la idempotența DELETE. Re-DELETE cerere resursa este adesea însoțită de 404 (negăsit) codul HTTP, datorită faptului că resursa a fost deja eliminată (de exemplu, dintr-o bază de date), și nu mai este disponibil. Acest lucru face ca operație de ștergere nu este idempotente, dar este în general acceptat un compromis cu privire la caz, în cazul în care resursa a fost șters din baza de date, și nu este marcat ca fiind șters.

articole similare