Sobes.tech
Junior — Middle

Vysvětlete rozdíly mezi metodami HTTP PUT a PATCH při aktualizaci zdrojů.

sobes.tech AI

Odpověď od AI

Hlavní rozdíly mezi metodami HTTP PUT a PATCH při aktualizaci zdrojů:

  • PUT — používá se pro úplnou aktualizaci zdroje. Klient odešle úplnou reprezentaci zdroje a server nahradí stávající zdroj touto novou.
  • PATCH — používá se pro částečnou aktualizaci zdroje. Klient odešle pouze pole, která je třeba změnit, a server je aktualizuje pouze, zatímco ostatní zůstanou nezměněny.

Příklad:

Pokud máte objekt uživatele s poli name a email:

  • Při požadavku PUT musíte odeslat obě pole, jinak budou chybějící odstraněna nebo resetována.
  • Při požadavku PATCH můžete odeslat pouze email, a server jej aktualizuje pouze.

V C# Web API mohou metody vypadat takto:

[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
    // Kompletní aktualizace uživatele
}

[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
    // Částečná aktualizace uživatele
}

Tedy, PUT je idempotentní metoda pro úplnou náhradu, PATCH pro částečné změny.