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.