Junior — Middle
Izskaidrojiet atšķirības starp HTTP PUT un PATCH metodēm resursu atjaunināšanā.
sobes.tech AI
Atbilde no AI
Galvenās atšķirības starp HTTP PUT un PATCH metodēm, atjaunojot resursus:
- PUT — tiek izmantots pilnīgai resursa atjaunošanai. Klients nosūta pilnu resursa reprezentāciju, un serveris aizstāj esošo resursu ar šo jauno.
- PATCH — tiek izmantots daļējai resursa atjaunošanai. Klients nosūta tikai tos laukus, kurus nepieciešams mainīt, un serveris atjaunina tikai tos, atstājot pārējos nemainītus.
Piemērs:
Ja jums ir lietotāja objekts ar laukiem name un email:
- Ar PUT pieprasījumu jums jānosūta abi lauki, pretējā gadījumā trūkstošie tiks dzēsti vai atiestatīti.
- Ar PATCH pieprasījumu jūs varat nosūtīt tikai
email, un serveris to atjauninās tikai.
C# Web API metodes var izskatīties šādi:
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// Pilnīga lietotāja atjaunošana
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// Daļēja lietotāja atjaunošana
}
Tādējādi, PUT ir idempotents metodes pilnīgai aizvietošanai, PATCH — daļēju izmaiņu veikšanai.