Sobes.tech
Junior — Middle

Vysvetlite rozdiely medzi metódami HTTP PUT a PATCH pri aktualizácii zdrojov.

sobes.tech AI

Odpoveď od AI

Hlavné rozdiely medzi metódami HTTP PUT a PATCH pri aktualizácii zdrojov:

  • PUT — používa sa na úplnú aktualizáciu zdroja. Klient odošle úplnú reprezentáciu zdroja a server nahradí existujúci zdroj touto novou.
  • PATCH — používa sa na čiastočnú aktualizáciu zdroja. Klient odošle iba polia, ktoré je potrebné zmeniť, a server ich aktualizuje iba, zatiaľ čo ostatné zostanú nezmenené.

Príklad:

Ak máte objekt používateľa s poľami name a email:

  • Pri požiadavke PUT musíte odoslať obe polia, inak budú chýbajúce odstránené alebo resetované.
  • Pri požiadavke PATCH môžete odoslať iba email, a server ho aktualizuje iba.

V C# Web API môžu metódy vyzerať takto:

[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
    // Kompletná aktualizácia používateľa
}

[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
    // Čiastočná aktualizácia používateľa
}

Takže, PUT je idempotentná metóda pre úplnú náhradu, PATCH pre čiastočné zmeny.