Sobes.tech
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.