Jaka jest główna różnica między PUT
i PATCH
prośby, a kiedy powinniśmy używać jednego nad drugim?
PUT i PATCH to czasowniki HTTP i oba odnoszą się do aktualizacji zasobu.
Główna różnica między żądaniami PUT i PATCH polega na sposobie, w jaki serwer przetwarza zamkniętą jednostkę w celu zmodyfikowania zasobu identyfikowanego przez identyfikator Request-URI.
W a PUT
żądanie, dołączona jednostka jest uważana za zmodyfikowaną wersję zasobu przechowywanego na serwerze pochodzenia, a klient żąda zastąpienia przechowywanej wersji.
Jednak w przypadku PATCH
zamknięta jednostka zawiera zestaw instrukcji opisujących, jak należy zmodyfikować zasób znajdujący się obecnie na serwerze pochodzenia w celu utworzenia nowej wersji.
Inną różnicą jest to, że gdy chcesz zaktualizować zasób za pomocą PUT
request, musisz wysłać pełny ładunek jako żądanie, podczas gdy z PATCH
wysyłasz tylko parametry, które chcesz zaktualizować.
Związane z:
Załóżmy, że mamy zasób zawierający imię i nazwisko osoby.
Jeśli chcemy zmienić imię, wysyłamy PUT
prośba o aktualizację
{ 'first': 'Michael', 'last': 'Angelo' }
Tutaj, chociaż zmieniamy tylko imię, za pomocą PUT
żądanie, musimy wysłać oba parametry jako pierwszy i ostatni. Innymi słowy, konieczne jest ponowne przesłanie wszystkich wartości, pełnego ładunku.
Kiedy wysyłamy PATCH
żądamy jednak przesłania tylko tych danych, które chcemy zaktualizować. Innymi słowy, do aktualizacji wysyłamy tylko imię, bez konieczności wysyłania nazwiska.
Z tego powodu PATCH
żądanie wymaga mniejszej przepustowości.