Ich habe gesehen, dass Laravel Route::resource verwendet, um eine Route für eine Restful-Architektur zu generieren, und das Update darin verwendet Patch-Anfragen, während manche Stellen empfehlen, put zu verwenden, also habe ich es überprüft
- Alle Ressourcen aktualisieren
- Die Patch-Methode wird verwendet, um lokale Ressourcen zu aktualisieren
Angenommen, wir haben eine UserInfo mit 10 Feldern wie userId, Benutzername, userGender usw. Aber deine Bearbeitungsfunktion kann den Benutzernamen nur auf einer speziellen Seite aufgrund von Bedarf ändern, wie soll man das aktuell aktualisieren?
In der Regel leiten Leute ein vollständiges userInfo-Objekt mit dem modifizierten Benutzernamen an das Backend weiter, um ein vollständiges Update zu erhalten. Aber wenn man darüber nachdenkt, wirkt dieser Ansatz etwas zweigleisig und eine echte Verschwendung von Bandbreite (rein technisch gesehen, wenn einem die Bandbreite egal ist, ist man ein lokaler Tyrann).
So entstand ein Patch, der nur einen Benutzernamen an die angegebene Ressource sendet, was darauf hinweist, dass die Anfrage ein Teilupdate ist, und das Backend aktualisiert nur die empfangenen Felder.
Theoretisch sollten die fehlenden Felder gelöscht werden, wenn du put verwendest, aber keine vollständige Benutzerinfo angibst.
PUT:Verwendet, um eine Ressource mit einer bekannten URL oder einem Paar zu erstellen.Bekannte Ressourcen sind vollständig ersetzt。 Sie wird in der Regel verwendet, um eine bekannte Ressource zu aktualisieren, es sei denn, Sie kennen die URL des Objekts, das Sie erstellen möchten, bevor Sie es erstellen.
BEREITSTELLEN:um eine Teilressource zu erstellen,Wenn es nicht idempotent ist, führen mehrere Ausführungen dazu, dass mehrere identische Ressourcen erstellt werden。 (Kräfte:In der Programmierung ist eine idempotente Operation dadurch gekennzeichnet, dass ihre beliebigen mehrfachen Ausführungen denselben Effekt wie eine einzelne Ausführung haben。 )
PATCH:Sie ist eine Ergänzung zur PUT-Methode und wird verwendet, um auf bekannten Ressourcen zu arbeitenTeilweise Aktualisierungen。
|