POST and PUT (REST)

0

Na roznych stronach przeczytalem takie definicje:

POST:
Used to modify and update a resource
PUT:
Used to create a resource, or overwrite it. While you specify the resources new URL.

POST – tworzy nowy zasób i w odpowiedzi w nagłówku Location zwraca URI nowego zasobu
PUT – aktualizuje zasób, operacja idempotenta

one sie przeciez wykluczaja :P

Kiedy powinno sie prawidlowo uzywac POSTa i PUTa ?

  1. Tworzenie nowego zasobu
  2. Podmienie istniejacego zasobu
  3. modyfikacja zsobu
    ... (istnieja inne warianty) ?
0

0

kiedyś to ogladalem... ale nie da sie po prostu wyjasnic jednym zdaniem :P ?

0

PUT /cats/1231412 -> wrzuca badz modyfikuje element.
POST /cats -> wrzuca element i zwraca URI

Jeszcze warto to przeczytac IMO.
https://tools.ietf.org/html/rfc2616#section-9.5
https://tools.ietf.org/html/rfc2616#section-9.6

0
n0name_l napisał(a):

PUT /cats/1231412 -> wrzuca badz modyfikuje element.
POST /cats -> wrzuca element i zwraca URI

Jeszcze warto to przeczytac IMO.
https://tools.ietf.org/html/rfc2616#section-9.5
https://tools.ietf.org/html/rfc2616#section-9.6

czyli mozna zalozyc ze POST tworzy nowy zasob (id z serwera)
a PUT podmienia i modyfikuje

?

0

Napisze to wyrazniej:
PUT /cats/123
Jesli zasob istnieje, modyfikujemy o przeslane dane. Zwracamy 200/204
Jesli zasob nie istnieje, a URI jest poprawne, tworzymy zasob. Zwracamy 201

Post /cats
Tworzymy zasob z wygenerowanym ID na serwerze, zwracamy 201 z linkiem do zasobu lub 200/204.

Ofc. Jesli request nie moze byc przetworzony zwracamy cos innego, np. 501 jesli PUT nie ma zaimplementowanego jakiegso Content-*

podmienia

Podmiana == modyfikacja w tym kontekscie.

Przeczytaj 2 akapity z linkow powyzej po prostu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1