Widziałem, że laravel używa Route::resource do generowania trasy dla architektury restful, a aktualizacja w niej korzysta z żądań poprawek, podczas gdy niektóre miejsca polecają użycie put, więc to sprawdziłem
- Zaktualizuj wszystkie zasoby
- Metoda łatki jest używana do aktualizacji lokalnych zasobów
Załóżmy, że mamy UserInfo z 10 polami, takimi jak userId, userName, userGender itd. Ale funkcja edycji może zmieniać nazwę użytkownika tylko na specjalnej stronie ze względu na potrzeby, jak je teraz zaktualizować?
Ludzie zazwyczaj przekazują pełny obiekt userInfo zawierający zmodyfikowaną nazwę użytkownika do backendu, aby uzyskać pełną aktualizację. Ale jeśli się nad tym zastanowić, to podejście wydaje się trochę dwutorowe i prawdziwe marnotrawstwo przepustowości (czysto technicznie, jeśli nie zależy ci na przepustowości, jesteś lokalnym tyranem).
Tak powstała łatka, która wysyła tylko nazwę użytkownika do określonego zasobu, wskazując, że żądanie jest częściową aktualizacją, a backend aktualizuje tylko otrzymane pola.
Teoretycznie, jeśli używasz "put", ale nie podasz pełnych informacji o użytkowniku, brakujące pola powinny zostać usunięte
PUT:Używany do tworzenia zasobu o znanym adresie URL lub parzeZnane zasoby są w pełni zastępowane。 Zazwyczaj służy do aktualizacji znanego zasobu, chyba że znasz adres URL obiektu, który chcesz utworzyć, przed jego utworzeniem.
POST:aby utworzyć podzasób,Jeśli nie jest idempotentny, wielokrotne wykonania skutkują powstaniem wielu identycznych zasobów。 (Moce:W programowaniu operacja idempotentna charakteryzuje się tym, że jej dowolne wielokrotne wykonania mają taki sam efekt jak jedno wykonanie。 )
PATCH:Jest uzupełnieniem metody PUT i służy do pracy na znanych zasobachCzęściowe aktualizacje。
|