Sobes.tech
Junior — Middle

Објасните разлике између метода HTTP PUT и PATCH при ажурирању ресурса.

sobes.tech АИ

Одговор од АИ

Основне разлике између HTTP метода PUT и PATCH при ажурирању ресурса:

  • PUT — користи се за потпуно ажурирање ресурса. Клијент шаље потпуну репрезентацију ресурса, а сервер замењује постојећи ресурс новом.
  • PATCH — користи се за делимично ажурирање ресурса. Клијент шаље само она поља која треба да се промене, а сервер ажурира само њих, остављајући остала непромењена.

Пример:

Ако имате објекат корисника са пољима name и email:

  • Са PUT захтевом, морате послати оба поља, у супротном ће недостајућа бити избрисана или ресетована.
  • Са PATCH захтевом, можете послати само email, и сервер ће га ажурирати само.

У C# Web API-ју, методи могу изгледати овако:

[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
    // Потпуно ажурирање корисника
}

[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
    // Делимично ажурирање корисника
}

Дакле, PUT је идемпотентна метода за потпуну замену, PATCH за делимичне промене.