Láttam, hogy a laravel a Route::resource funkciót használja egy restful architektúra útvonalának generálásához, és a frissítés patch kéréseket használ, míg néhány helyen azt írják, hogy a put használjuk, ezért megnéztem
- Minden erőforrás frissítésére
- Patch módszert használnak a helyi erőforrások frissítésére
Tegyük fel, hogy van egy UserInfo 10 mezővel, mint például userId, userName, userGender stb. De a szerkesztési funkciód csak a speciális oldalon tud módosítani a felhasználónevet a szükségletek miatt, hogyan lehet most frissíteni?
Az emberek általában egy teljes userInfo objektumot továbbítanak a módosított username-ben a háttérrendszerhez a teljes frissítéshez. De ha belegondolsz, ez a megközelítés kissé kétirányúnak és valódi sávszélesség-pazarlásnak tűnik (pusztán technikailag nézve, ha nem érdekel a sávszélesség, akkor helyi zsarnok vagy).
Így született meg a patch, amely csak a megadott erőforrásnak küld username-et, jelezve, hogy a kérés részleges frissítés, és a háttérrendszer csak a kapott mezőket frissíti.
Elméletileg, ha put funkciót használsz, de nem ad meg teljes UserInfo-t, akkor a hiányzó mezők törlésre kerülnek
PUT:Ismert URL-lel rendelkező erőforrás létrehozására, vagy párosításra használtákAz ismert források teljes mértékben kicserélődnek。 Általában egy ismert erőforrás frissítésére használják, hacsak nem ismered az objektum URL-jét, amit létre akarsz hozni, mielőtt létrehoznád.
BEJEGYZÉS:egy al-erőforrás létrehozásához,Ha nem idempotens, több kivégzés során több azonos erőforrás keletkezik。 (Képességek:A programozásban az idempotens műveletet az jellemzi, hogy tetszőleges többszörös végrehajtása ugyanazt a hatást vált ki, mint egyetlen végrehajtás。 )
PATCH:Ez a PUT módszer kiegészítője, és ismert erőforrásokon végzett műveletekre használjákRészleges frissítések。
|