REST: GET, POST, PUT, PATCH i idempotencja
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
GET odczytuje reprezentację; POST służy m.in. do utworzenia zasobu lub wykonania operacji; PUT ustawia lub zastępuje reprezentację pod danym adresem; PATCH opisuje częściową zmianę.
Idempotencja: wielokrotne wykonanie tego samego żądania ma taki sam zamierzony efekt na serwerze jak jedno wykonanie. GET, PUT i DELETE mają tę semantykę. POST i PATCH nie są automatycznie idempotentne.
Przykład: ponowienie żądania płatności wymaga klucza idempotencji i obsługi po stronie serwera.
Pułapka: idempotencja nie gwarantuje identycznego statusu odpowiedzi. Powtórzony DELETE może zwrócić 404, chociaż zasób pozostaje usunięty.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- D-P04 · Do czego służą metody i statusy HTTP? — Backend, dane i system design
- D-P15 · Co to jest idempotencja? — Backend, dane i system design
- Które metody HTTP są idempotentne? — Web — podstawy