Viděl jsem, že laravel používá Route::resource k generování trasy pro restful architekturu, a aktualizace v něm používá požadavky na záplaty, zatímco některá místa doporučují použít put, tak jsem to zkontroloval
- Aktualizuj všechny zdroje
- Metoda patch se používá k aktualizaci lokálních zdrojů
Řekněme, že máme UserInfo s 10 poli jako userId, userName, userGender atd. Ale vaše editační funkce může uživatelské jméno měnit pouze na speciální stránce podle potřeb, jak to teď aktualizovat?
Lidé obvykle předávají celý objekt userInfo obsahující upravené uživatelské jméno na backend pro kompletní aktualizaci. Ale když se nad tím zamyslíte, tento přístup působí trochu jako dvojí a jako skutečné plýtvání šířkou pásma (čistě technicky, pokud vám na ní nezáleží, jste místní tyran).
Tak vznikla záplata, která odesílá pouze uživatelské jméno na specifikovaný zdroj, což znamená, že požadavek je částečná aktualizace, a backend aktualizuje pouze přijatá pole.
Teoreticky, pokud použijete put, ale neposkytnete kompletní UserInfo, pak by chybějící pole měla být vymazána
PUT:Používá se k vytvoření zdroje s známou URL nebo páremZnámé zdroje jsou plně nahrazeny。 Obecně se používá k aktualizaci známého zdroje, pokud neznáte URL objektu, který chcete vytvořit, před jeho vytvořením.
PŘÍSPĚVEK:pro vytvoření podzdroje,Pokud není idempotentní, více provedení povede k vytvoření více identických zdrojů。 (Schopnosti:V programování je idempotentní operace charakterizována tím, že její libovolné vícenásobné provedení má stejný efekt jako jedno provedení。 )
PATCH:Je doplňkem metody PUT a používá se k práci na známých zdrojíchČástečné aktualizace。
|