Jeg så at Laravel bruker Route::resource for å generere en rute for en Restful Architecture, og oppdateringen i den bruker patchforespørsler, mens noen steder sier at man skal bruke put, så jeg sjekket det
- Oppdaterer alle ressurser
- Patch-metoden brukes for å oppdatere lokale ressurser
La oss si at vi har en UserInfo med 10 felt som userId, userName, userGender, osv. Men redigeringsfunksjonen din kan bare endre brukernavnet på en spesiell side på grunn av behov, hvordan oppdateres du nå?
Folk sender vanligvis et fullstendig userInfo-objekt som inneholder det modifiserte brukernavnet til backend for en full oppdatering. Men hvis du tenker over det, føles denne tilnærmingen litt todelt og et virkelig sløseri med båndbredde (rent teknisk, hvis du ikke bryr deg om båndbredde, er du en lokal tyrann).
Dermed ble patchen født, som kun sender et brukernavn til den angitte ressursen, noe som indikerer at forespørselen er en delvis oppdatering, og backend oppdaterer kun de mottatte feltene.
Teoretisk sett, hvis du bruker put men ikke oppgir en komplett UserInfo, bør de manglende feltene slettes
PUT:Brukt til å lage en ressurs med en kjent URL, eller parKjente ressurser er fullstendig erstattet。 Den brukes vanligvis til å oppdatere en kjent ressurs, med mindre du kjenner URL-en til objektet du vil lage før du oppretter det.
INNLEGG:for å opprette en delressurs,Hvis den ikke er idempotent, vil flere kjøringer føre til at flere identiske ressurser blir opprettet。 (Krefter:I programmering kjennetegnes en idempotent operasjon ved at dens vilkårlige flere utførelser har samme effekt som en enkelt utførelse。 )
PATCH:Den er et supplement til PUT-metoden og brukes til å utføre på kjente ressurserDelvise oppdateringer。
|