Junior — Middle
Обяснете разликите между методите HTTP PUT и PATCH при актуализиране на ресурси.
sobes.tech AI
Отговор от AI
Основните разлики между 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 — за частични промени.