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 за делимичне промене.