Sobes.tech
Junior — Middle

Jaki jest główny cel metody PATCH w REST API do aktualizacji zasobów?

sobes.tech AI

Odpowiedź od AI

Metoda PATCH w API REST służy do częściowej aktualizacji zasobu. W przeciwieństwie do PUT, który zazwyczaj zastępuje cały zasób, PATCH pozwala na wysłanie tylko tych pól, które trzeba zmienić, pozostawiając pozostałe bez zmian. To oszczędza ruch i upraszcza aktualizację, gdy trzeba zmienić tylko część danych.

Przykład użycia PATCH w C# z ASP.NET Core:

[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, [FromBody] JsonPatchDocument<User> patchDoc)
{
    var user = _userRepository.GetById(id);
    if (user == null) return NotFound();

    patchDoc.ApplyTo(user, ModelState);
    if (!ModelState.IsValid) return BadRequest(ModelState);

    _userRepository.Update(user);
    return NoContent();
}

Tutaj, JsonPatchDocument zawiera instrukcje do zmiany konkretnych pól obiektu User.