Jeg så, at Laravel bruger Route::resource til at generere en rute for en restful arkitektur, og opdateringen i den bruger patch-anmodninger, mens nogle steder siger, at man skal bruge put, så jeg tjekkede det
- Sæt til opdatering af alle ressourcer
- patch-metoden bruges til at opdatere lokale ressourcer
Lad os sige, at vi har en UserInfo med 10 felter som userId, brugernavn, brugerKøn osv. Men din redigeringsfunktion kan kun ændre brugernavnet på en særlig side på grund af behov, hvordan opdaterer du på nuværende tidspunkt?
Folk sender som regel et fuldt userInfo-objekt med det ændrede brugernavn til backend for en fuld opdatering. Men hvis man tænker over det, føles denne tilgang lidt todelt og et reelt spild af båndbredde (rent teknisk, hvis du ikke går op i båndbredde, er du en lokal tyran).
Dermed blev patchen født, som kun sender et brugernavn til den angivne ressource, hvilket indikerer, at anmodningen er en delvis opdatering, og backend opdaterer kun de modtagne felter.
Teoretisk set, hvis du bruger put, men ikke giver en komplet UserInfo, burde de manglende felter være slettet
PUT:Bruges til at oprette en ressource med en kendt URL eller parKendte ressourcer er fuldstændigt erstattet。 Det bruges generelt til at opdatere en kendt ressource, medmindre du kender URL'en på det objekt, du vil oprette, før du opretter det.
INDLÆG:for at oprette en delressource,Hvis den ikke er idempotent, vil flere eksekveringer resultere i, at flere identiske ressourcer bliver oprettet。 (Kræfter:I programmering kendetegnes en idempotent operation ved, at dens vilkårlige multiple eksekveringer har samme effekt som en enkelt eksekvering。 )
PATCH:Den er et supplement til PUT-metoden og bruges til at udføre på kendte ressourcerDelvise opdateringer。
|