PUT vs POST – razlika između njih

Ključne razlike između PUT i POST

  • Metoda PUT se poziva kada morate modificirati jedan resurs, dok se metoda POST poziva kada morate dodati resurs dijete.
  • Odgovori POST metode mogu se predmemorirati, ali ne možete predmemorirati odgovore PUT metode.
  • Možete koristiti UPDATE upit u PUT-u, dok možete koristiti Create query u POST-u.
  • U PUT metodi klijent odlučuje koji URI resurs treba imati, a u POST metodi poslužitelj odlučuje koji URI resurs treba imati.
  • PUT radi kao specifičan, dok POST radi kao abstract.
  • Ako pošaljete isti PUT zahtjev više puta, rezultat će ostati isti, ali ako pošaljete isti POST zahtjev više puta, dobit ćete različite rezultate.
  • Metoda PUT je idempotentna, dok metoda POST nije idempotentna.
PUT vs POST
PUT vs POST

Što je PUT metoda?

PUT metoda se koristi za ažuriranje resursa dostupnih na poslužitelju. Obično zamjenjuje ono što postoji na cilju. URL s nečim drugim. Možete ga koristiti za izradu novog resursa ili prepisivanje postojećeg. PUT zahtijeva da se zatvoreni entitet pohrani pod navedenim traženim URI-jem (Uniform Resource Identifier).

Što je POST metoda?

POST je metoda koju podržavaju HTTP i

prikazuje da web poslužitelj prihvaća podatke uključene u tijelo poruke, koja se traži. POST se često koristi na World Wide Webu za slanje korisnički generiranih podataka na web poslužitelj ili kada učitate datoteku.

Razlike između PUT i POST u REST API-jima

Ovdje je važna razlika između PUT i POST metode:

PUT POST
Ova metoda je idempotentna. Ova metoda nije idempotentna.
Metoda PUT se poziva kada morate modificirati jedan resurs, koji je već dio kolekcije resursa. Metoda POST poziva se kada morate dodati podređeni resurs pod zbirku resursa.
RFC-2616 opisuje da metoda PUT šalje zahtjev za priloženi entitet pohranjen u dostavljenom URI-ju zahtjeva. Ova metoda zahtijeva od poslužitelja da prihvati entitet koji je priložen u zahtjevu.
Sintaksa metode PUT je PUT /pitanja/{id-pitanja} Sintaksa metode POST je POST /pitanja
Ne možete predmemorirati odgovore metode PUT. Odgovor metode POST može se spremiti u predmemoriju.
PUT /vi/juice/orders/1234 označava da ažurirate resurs koji je identificiran s "1234". POST /vi/juice/orders označava da stvarate novi resurs i vraća identifikator za opis resursa.
Ako isti zahtjev pošaljete više puta, rezultat će ostati isti. Ako isti POST zahtjev pošaljete više puta, dobit ćete različite rezultate.
PUT radi kao specifičan. POST vježba kao trbušnjacitract.
Koristimo upit UPDATE u PUT-u. Koristimo kreiranje upita u POST-u.
U PUT metodi, klijent odlučuje koji URI resurs treba imati. U POST metodi, poslužitelj odlučuje koji URI resurs treba imati.

Primjer PUT

Evo primjera PUT metode web poslužitelja:

HTTP PUT http://www.google.com/users/234

HTTP PUT http://www.google.com/users/234/accounts/567

Zatražite

PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 20

<p>New File</p>

Reakcija

Ako ciljni resurs ima trenutni prikaz i modificiran je stanjem priloženog prikaza, tada poslužitelj treba poslati dva odgovora. Prvi kod odgovora je 200 (OK), a drugi kod odgovora je 204 (Bez sadržaja).

Ako ciljni resurs nema nikakav prikaz, poslužitelj bi trebao obavijestiti korisnika slanjem odgovora koda 201 (Stvoreno).

 HTTP/1.1 201 Created
Content-Location: /new.html

Primjer POST-a

Evo primjera POST metode:

HTTP POST http://www.google.com/users

HTTP POST http://www.google.com/users/234/accounts

Obrazac koji koristi zadanu vrstu sadržaja application/x-www-form-urlencoded:

POST /test HTTP/1.1
Host: abc.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 40

field1=value1&field2=value2

Testiranje API-ja s PUT zahtjevima

Evo koraka za testiranje API-ja s PUT zahtjevima:

Testiranje API-ja s PUT zahtjevima
Testiranje API-ja s PUT zahtjevima

Korak 1) Ažurirajte resurse s PUT zahtjevom.

Korak 2) Koristite metodu GET za resurs. Ako PUT zahtjev bude uspješan, primit ćete nove podatke. Ova metoda neće uspjeti ako su navedeni podaci u zahtjevu nevažeći. Stoga neće ništa ažurirati.

Testiranje API-ja s POST zahtjevima

Evo koraka za testiranje API-ja s POST zahtjevima:

Testiranje API-ja s POST zahtjevima

Testiranje API-ja s POST zahtjevima

Korak 1) Stvorite resurs pomoću POST zahtjeva i provjerite vraća li statusni kod 200.

Korak 2) Napravite GET zahtjev za taj resurs i spremite podatke u ispravnom formatu.

Korak 3) Morate dodati testove koji osiguravaju neuspjeh POST zahtjeva s netočnim podacima.

Prednosti PUT metode

Evo prednosti/prednosti korištenja PUT metode:

  • Pomaže vam da pohranite dostavljeni entitet pod dostavljenim URI-jem
  • Ako dostavljeni entitet već postoji, tada možete izvršiti operaciju ažuriranja ili možete kreirati s tim URI-jem.
  • Možete kreirati resurs koliko god puta želite.
  • Kreiranje resursa metodom PUT vrlo je jednostavno.
  • Ne morate provjeravati je li korisnik kliknuo gumb za slanje više puta ili ne.
  • Može identificirati entitet priložen uz zahtjev.

Prednosti POST metode

Evo prednosti/prednosti korištenja POST metode:

  • Ova metoda vam pomaže da odredite URI resursa.
  • Određivanje novog zaglavlja lokacije resursa vrlo je jednostavno pomoću zaglavlja lokacije.
  • Možete poslati zahtjev za prihvaćanje entiteta kao novog podređenog resursa, koji je identificiran URI-jem.
  • Možete slati podatke koje su generirali korisnici na web poslužitelj.
  • Vrlo je korisno kada ne znate URL zadržati bilo koji resurs.
  • Koristite POST kada vam je potreban server, koji kontrolira URL generiranje vaših resursa.
  • POST je sigurna metoda jer njeni zahtjevi ne ostaju u povijesti preglednika.
  • Možete bez napora transmit velika količina podataka pomoću pošte.
  • Možete zadržati privatnost podataka.
  • Ova se metoda može koristiti za slanje binarnih kao i ASCII podataka.

Sažmite ovu objavu uz: