Što je PUT?
Metoda PUT koristi se za ažuriranje resursa dostupnih na poslužitelju. Tipično zamjenjuje sve što postoji na ciljanom URL-u nečim drugim. Pomoću njega možete napraviti novi resurs ili prepisati postojeći. PUT zahtjeva da se zatvoreni entitet mora pohraniti pod isporučenim zatraženim URI-jem (Uniform Resource Identifier).
U ovom vodiču naučit ćete:
- Što je PUT?
- Što je POST?
- Primjer PUT-a
- Primjer POST-a
- Razlika između PUT i POST
- Testiranje API-ja s PUT zahtjevima
- Testiranje API-ja s POST zahtjevima
- Prednosti PUT metode
- Prednosti POST metode
Što je POST?
POST je metoda koju podržavaju HTTP i
prikazuje da web poslužitelj prihvaća podatke sadržane u tijelu poruke koja se traži. World Wide Web često koristi POST za slanje podataka generiranih od korisnika na web poslužitelj ili prilikom prijenosa datoteke.
KLJUČNE RAZLIKE:
- PUT metoda poziva se kada morate izmijeniti jedan resurs, dok se POST metoda poziva kada morate dodati podređeni resurs.
- Odgovor metode PUT može se predmemorirati, ali ne možete predmemorirati odgovore metode PUT.
- 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 djeluje specifično, dok POST djeluje apstraktno.
- Ako isti PUT zahtjev pošaljete više puta, rezultat će ostati isti, ali ako isti POST zahtjev pošaljete više puta, dobit ćete različite rezultate.
- PUT metoda je idempotentna, dok POST metoda nije idempotentna.
Primjer PUT-a
Evo primjera web poslužitelja metode PUT:
HTTP STAVITE http://www.google.com/users/234
HTTP STAVITE http://www.google.com/users/234/accounts/567
Zahtjev
PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20New File
Odgovori
Ako ciljni resurs ima trenutnu reprezentaciju i modificiran je stanjem zatvorene reprezentacije, tada bi poslužitelj trebao poslati dva odgovora. Prvi kôd odgovora je 200 (u redu), a drugi kôd odgovora 204 (bez sadržaja).
Ako ciljni resurs nema predstavu, tada bi poslužitelj trebao obavijestiti korisnika slanjem odgovora 201 (stvorenog) koda.
HTTP/1.1 201 CreatedContent-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 / x-www-form-urlencoded:
POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2
Razlika između PUT i POST
Evo važne razlike između metode PUT i POST:
STAVITI | OBJAVI |
Ova metoda je idempotentna. | Ova metoda nije idempotentna. |
PUT metoda je poziv kada morate izmijeniti jedan resurs, koji je već dio zbirke resursa. | POST metoda je poziv kada morate dodati podređeni resurs u zbirku resursa. |
RFC-2616 prikazuje da metoda PUT šalje zahtjev za zatvorenim entitetom pohranjenim u isporučenom URI-ju zahtjeva. | Ova metoda zahtijeva od poslužitelja da prihvati entitet koji je priložen u zahtjevu. |
Sintaksa metode PUT je PUT / questions / {question-id} | Sintaksa metode POST je POST / pitanja |
Odgovor metode PUT može se predmemorirati. | Ne možete predmemorirati odgovore metode PUT. |
PUT / vi / juice / orders / 1234 označava da ažurirate resurs koji je označen s "1234". | POST / vi / juice / naloga označava da stvarate novi resurs i vraćate identifikator koji opisuje resurs. |
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 djeluje kao specifičan. | POST rad kao apstraktni. |
Koristimo UPDATE upit u PUT-u. | Koristimo upit za stvaranje u POST-u. |
U metodi PUT, klijent odlučuje koji URI resurs treba imati. | U POST metodi, poslužitelj odlučuje koji URI resurs treba imati. |
Testiranje API-ja s PUT zahtjevima
Evo koraka za testiranje API-ja sa PUT zahtjevima:
![](https://cdn.css-code.org/images/2/030720_0556_PUTvsPOSTWh2.png.webp)
Korak 1) Ažurirajte resurse s PUT zahtjevom.
Korak 2) Koristite GET metodu za resurs. Ako PUT zatraži uspjeh, dobit ćete nove podatke. Ova metoda neće uspjeti ako su navedeni podaci u zahtjevu nevaljani. Stoga neće ažurirati ništa.
Testiranje API-ja s POST zahtjevima
Evo koraka za testiranje API-ja s POST zahtjevima:
![](https://cdn.css-code.org/images/2/030720_0556_PUTvsPOSTWh3.png.webp)
Korak 1) Stvorite resurs pomoću POST zahtjeva i pobrinite se da vraća 200 statusni kod.
Korak 2) Pošaljite 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 upotrebe metode PUT:
- Pomaže vam pohranjivanje isporučenog entiteta pod isporučeni URI
- Ako isporučeni entitet već postoji, tada možete izvršiti operaciju ažuriranja ili možete stvoriti s tim URI-jem.
- Resurs možete stvoriti koliko god puta želite.
- Stvaranje resursa metodom PUT vrlo je jednostavno.
- Ne trebate provjeravati je li korisnik više puta kliknuo gumb za slanje ili nije.
- Može identificirati entitet priložen uz zahtjev.
Prednosti POST metode
Evo prednosti / prednosti korištenja POST metode:
- Ova metoda pomaže vam odrediti URI resursa.
- Navođenje novog zaglavlja lokacije resursa vrlo je jednostavno pomoću zaglavlja lokacije.
- Možete poslati zahtjev za prihvaćanje entiteta kao novog podređenog resursa, što je identificirano URI-jem.
- Možete generirati podatke generirane od korisnika na web poslužitelj.
- Vrlo je korisno kada ne znate URL da zadržite bilo koji resurs.
- Koristite POST kada vam treba poslužitelj, koji kontrolira generiranje URL-a vaših resursa.
- POST je sigurna metoda jer njezini zahtjevi ne ostaju u povijesti preglednika.
- Možete bez napora prenijeti veliku količinu podataka putem pošte.
- Podatke možete držati privatnima.
- Ova se metoda može koristiti za slanje binarnih kao i ASCII podataka.