Kaj je PUT?
Metoda PUT se uporablja za posodobitev virov, ki so na voljo na strežniku. Običajno nadomesti vse, kar obstaja na ciljnem URL-ju, z nečim drugim. Z njim lahko ustvarite nov vir ali prepišete obstoječega. PUT zahteva, da mora biti priloženi entitet shranjen pod priloženim zahtevanim URI (enotni identifikator vira).
V tej vadnici boste izvedeli:
- Kaj je PUT?
- Kaj je POST?
- Primer PUT
- Primer POST
- Razlika med PUT in POST
- Testiranje API-ja z zahtevami PUT
- Testiranje API-ja z zahtevami POST
- Prednosti metode PUT
- Prednosti metode POST
Kaj je POST?
POST je metoda, ki jo podpirata HTTP in
prikazuje, da spletni strežnik sprejema podatke, ki so vključeni v telo sporočila, ki je zahtevano. Svetovni splet POST pogosto uporablja za pošiljanje uporabniško ustvarjenih podatkov na spletni strežnik ali med nalaganjem datoteke.
KLJUČNE RAZLIKE:
- Metoda PUT se prikliče, ko morate spremeniti en vir, metoda POST pa, ko morate dodati podrejeni vir.
- Odziv metode PUT je mogoče predpomniti, odzivov metode PUT pa ne morete predpomniti.
- Poizvedbo UPDATE lahko uporabite v PUT, medtem ko lahko uporabite poizvedbo create v POST.
- Pri metodi PUT se odjemalec odloči, kateri vir URI mora imeti, pri metodi POST pa strežnik, kateri vir URI mora imeti.
- PUT deluje tako specifično, medtem ko POST deluje abstraktno.
- Če isto zahtevo PUT pošljete večkrat, bo rezultat ostal enak, če pa večkrat pošljete isto zahtevo POST, boste prejeli različne rezultate.
- Metoda PUT je idempotentna, medtem ko metoda POST ni idempotentna.
Primer PUT
Tu je primer spletnega strežnika metode PUT:
HTTP PUT http://www.google.com/users/234
HTTP PUT http://www.google.com/users/234/accounts/567
Prošnja
PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20New File
Odzivi
Če ima ciljni vir trenutno predstavitev in je spremenjen s stanjem priložene predstavitve, mora strežnik poslati dva odgovora. Prva odzivna koda je 200 (v redu), druga odzivna koda pa 204 (brez vsebine).
Če ciljni vir nima nobene predstavitve, mora strežnik uporabnika o tem obvestiti s pošiljanjem odgovora kode 201 (Ustvarjeno).
HTTP/1.1 201 CreatedContent-Location: /new.html
Primer POST
Tu je primer metode POST:
HTTP POST http://www.google.com/users
HTTP POST http://www.google.com/users/234/accounts
Obrazec, ki uporablja privzeto vrsto vsebine application / x-www-form-urlencoded:
POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2
Razlika med PUT in POST
Tu je pomembna razlika med metodo PUT in POST:
PUT | OBJAVI |
Ta metoda je idempotentna. | Ta metoda ni idempotentna. |
Metoda PUT je klic, ko morate spremeniti en vir, ki je že del zbirke virov. | Metoda POST je klic, ko morate podrejenemu viru dodati zbirko virov. |
RFC-2616 prikazuje, da metoda PUT pošlje zahtevo za zaprto entiteto, shranjeno v dobavljenem URI zahteve. | Ta metoda zahteva, da strežnik sprejme entiteto, ki je priložena zahtevi. |
Sintaksa metode PUT je PUT / questions / {question-id} | Sintaksa metode POST je POST / vprašanja |
Odgovor metode PUT je mogoče predpomniti. | Odzivov metode PUT ni mogoče shraniti v predpomnilnik. |
PUT / vi / juice / orders / 1234 pomeni, da posodabljate vir, ki je označen z "1234". | POST / vi / juice / orders pomeni, da ustvarjate nov vir in vrnete identifikator za opis vira. |
Če isto zahtevo pošljete večkrat, bo rezultat ostal enak. | Če isto zahtevo POST pošljete več kot enkrat, boste prejeli različne rezultate. |
PUT deluje kot specifičen. | POST delo kot povzetek. |
Uporabljamo poizvedbo UPDATE v PUT. | Uporabljamo poizvedbo create v POST. |
Pri metodi PUT se odjemalec odloči, kateri vir URI mora imeti. | Pri metodi POST se strežnik odloči, kateri vir URI bi moral imeti. |
Testiranje API-ja z zahtevami PUT
Tu so koraki za preizkušanje API-ja z zahtevami PUT:
Korak 1) Posodobite vire z zahtevo PUT.
Korak 2) Za vir uporabite metodo GET. Če PUT zahteva uspeh, boste prejeli nove podatke. Ta metoda ne bo uspela, če so navedeni podatki v zahtevi neveljavni. Zato ne bo posodobil ničesar.
Testiranje API-ja z zahtevami POST
Tu so koraki za preizkušanje API-ja z zahtevami POST:
1. korak: Ustvarite vir z uporabo zahteve POST in se prepričajte, da vrne 200 statusno kodo.
Korak 2) Za ta vir podajte zahtevo GET in shranite podatke v pravilni obliki.
Korak 3) Dodati morate teste, ki zagotavljajo, da zahteve POST ne uspejo z napačnimi podatki.
Prednosti metode PUT
Tu so prednosti / prednosti uporabe metode PUT:
- Pomaga vam shraniti dobavljeno entiteto pod dobavljenim URI-jem
- Če dobavljena entiteta že obstaja, lahko izvedete operacijo posodobitve ali pa ustvarite s tem URI-jem.
- Vir lahko ustvarite, kolikor želite.
- Ustvarjanje vira z metodo PUT je zelo enostavno.
- Ni vam treba preverjati, ali je uporabnik večkrat kliknil gumb za oddajo ali ne.
- Lahko identificira entiteto, priloženo zahtevi.
Prednosti metode POST
Tu so prednosti / prednosti uporabe metode POST:
- Ta metoda vam pomaga določiti URI vira.
- Določanje nove glave lokacije vira je zelo enostavno z uporabo glave lokacije.
- Pošljete lahko zahtevo za sprejem entitete kot novega podrejenega vira, ki ga identificira URI.
- Uporabniško ustvarjene podatke lahko pošljete na spletni strežnik.
- Zelo koristno je, če ne poznate URL-ja, da obdržite kateri koli vir.
- Uporabite POST, ko potrebujete strežnik, ki nadzoruje ustvarjanje URL-jev vaših virov.
- POST je varna metoda, saj njene zahteve ne ostanejo v zgodovini brskalnika.
- Z lahkoto lahko s pošto pošljete veliko količino podatkov.
- Podatke lahko obdržite zasebne.
- Ta metoda se lahko uporablja za pošiljanje binarnih in ASCII podatkov.