Maybaygiare.org

Blog Network

restcookbook.com

kiedy powinniśmy używać PUT, a kiedy POST?

metody HTTP POST i PUT nie są HTTP odpowiednikami create I update CRUD. Obie służą innym celom. Jest całkiem możliwe, ważne, a nawet preferowane w niektórych przypadkach, użycie PUT do tworzenia zasobów lub użycie POST do aktualizacji zasobów.

użyj PUT, gdy możesz całkowicie zaktualizować zasób za pomocą określonego zasobu. Na przykład, jeśli wiesz, że artykuł znajduje się pod adresem http://example.org/article/1234, możesz umieścić nową reprezentację zasobów tego artykułu bezpośrednio za pomocą adresu URL.

Jeśli nie znasz rzeczywistej lokalizacji zasobu, na przykład podczas dodawania nowego artykułu, ale nie masz pojęcia, gdzie go przechowywać, możesz opublikować go w adresie URL i pozwolić serwerowi zdecydować o rzeczywistym adresie 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

gdy tylko poznasz nową lokalizację zasobu, możesz użyć put again, aby zaktualizować artykuł niebieski zszywacz. Ale jak wspomniano wcześniej: można dodać nowe zasoby poprzez PUT, jak również. Następny przykład jest całkowicie poprawny, jeśli Twoje API zapewnia taką funkcjonalność:

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.