Maybaygiare.org

Blog Network

restcookbook.com

Hvornår skal vi bruge PUT og hvornår skal vi bruge POST?

HTTP-metoderne POST og PUT er ikke HTTP-ækvivalenten til CRUDS oprettelse og opdatering. De tjener begge et andet formål. Det er meget muligt, gyldigt og endda foretrukket i nogle lejligheder at bruge PUT til at oprette ressourcer eller bruge POST til at opdatere ressourcer.

brug PUT, når du kan opdatere en ressource fuldstændigt gennem en bestemt ressource. For eksempel, hvis du ved, at en artikel findes på http://example.org/article/1234, kan du sætte en ny ressource repræsentation af denne artikel direkte gennem en PUT på denne URL.

Hvis du ikke kender den faktiske ressourceplacering, for eksempel når du tilføjer en ny artikel, men ikke har nogen ide om, hvor du skal gemme den, kan du sende den til en URL og lade serveren bestemme den faktiske URL.

PUT /article/1234 HTTP/1.1<article> <title>red stapler</title> <price currency="eur">12.50</price></article>
POST /articles HTTP/1.1<article> <title>blue stapler</title> <price currency="eur">7.50</price></article>HTTP/1.1 201 CreatedLocation: /articles/63636

så snart du kender den nye ressourceplacering, kan du bruge put again til at gøre opdateringer til den blå hæftemaskine-artikel. Men som sagt før: du kan også tilføje nye ressourcer gennem PUT. Det næste eksempel er perfekt gyldigt, hvis din API giver denne funktionalitet:

PUT /articles/green-stapler HTTP/1.1<article> <title>green stapler</title> <price currency="eur">9.95</price></article>HTTP/1.1 201 CreatedLocation: /articles/green-stapler

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.