Ответ
PUT полностью заменяет ресурс новыми данными. Если какие-то поля не указаны, они будут установлены в null или значения по умолчанию.
PATCH применяет частичные изменения к ресурсу, обновляя только указанные поля. Остальные поля остаются без изменений.
Пример:
// Исходный ресурс
{
"id": 1,
"name": "John",
"age": 30
}
// PUT запрос (полная замена)
PUT /users/1
{
"name": "Mike"
}
// Результат: {"id": 1, "name": "Mike", "age": null}
// PATCH запрос (частичное обновление)
PATCH /users/1
{
"name": "Mike"
}
// Результат: {"id": 1, "name": "Mike", "age": 30}
PUT идемпотентен (повторные запросы дают тот же результат), PATCH — не всегда.
Видео-ответы
▶
▶
▶
▶