Ответ
PUT полностью заменяет ресурс новыми данными. Если какие-то поля не указаны, они будут установлены в нулевые значения или удалены.
PATCH применяет частичные изменения к ресурсу, обновляя только указанные поля, оставляя остальные без изменений.
Пример PUT:
// Обновит весь пользователя, даже если передано только имя
PUT /users/1
{
"name": "New Name"
}
Пример PATCH:
// Обновит только имя, остальные поля останутся прежними
PATCH /users/1
{
"name": "New Name"
}
PUT идемпотентен (повторные вызовы дают тот же результат), PATCH не всегда идемпотентен.
Видео-ответы
▶
▶
▶
▶
▶
▶