Viděl som, že laravel používa Route::resource na generovanie trasy pre restful architektúru, a aktualizácia v ňom používa požiadavky na záplaty, zatiaľ čo niektoré miesta odporúčajú použiť put, tak som to skontroloval
- Nastavte na aktualizáciu všetkých zdrojov
- Metóda patch sa používa na aktualizáciu lokálnych zdrojov
Povedzme, že máme UserInfo s 10 poliami ako userId, userName, userGender a podobne. Ale vaša editačná funkcia môže meniť používateľské meno len na špeciálnej stránke podľa potreby, ako to teraz aktualizovať?
Ľudia zvyčajne posielajú celý objekt userInfo obsahujúci upravené používateľské meno na backend na úplnú aktualizáciu. Ale keď sa nad tým zamyslíte, tento prístup pôsobí trochu dvojstranne a je to skutočné plytvanie šírkou pásma (čisto technicky, ak vám na šírke pásma nezáleží, ste miestny tyran).
Tak vznikla záplata, ktorá posiela len používateľské meno na špecifikovaný zdroj, čo znamená, že požiadavka je čiastočná aktualizácia, a backend aktualizuje iba prijaté polia.
Teoreticky, ak použijete put, ale neposkytnete kompletné UserInfo, chýbajúce polia by mali byť vymazané
PUT:Používa sa na vytvorenie zdroja so známou URL alebo páromZnáme zdroje sú úplne nahradené。 Vo všeobecnosti sa používa na aktualizáciu známeho zdroja, pokiaľ nepoznáte URL objektu, ktorý chcete vytvoriť pred jeho vytvorením.
PRÍSPEVOK:na vytvorenie podzdroja,Ak nie je idempotentný, viaceré vykonania povedú k vytvoreniu viacerých identických zdrojov。 (Schopnosti:V programovaní je idempotentná operácia charakterizovaná tým, že jej ľubovoľné viacnásobné vykonania majú rovnaký efekt ako jedno vykonanie。 )
PATCH:Je doplnkom k metóde PUT a používa sa na výkon na známych zdrojochČiastočné aktualizácie。
|