Разница (отличия) между PUT и PATCH в REST [дубликат]

1,00
р.



На этот вопрос уже дан ответ здесь:

Чем put отличается от patch?
(1 ответ)
Закрыт 2 года назад. Сообщество рассмотрело необходимость повторного открытия этого вопроса 2 года назад и оставило его закрытым:
Исходные причины закрытия не были исправлены


В чём отличия между этими методами? Оба производят обновления объектов.

Ответ
Представьте, что у вас на сайте публикуются статьи. У статей есть заголовок и содержание, которые вы можете редактировать.
PUT /articles/12
{ title: 'Новый заголовок', content: 'Новое содержание' }
PATCH /articles/12
{ title: 'Новый заголовок', content: 'Новое содержание' }
Они работают идентично. Отличия возникают, если вы изменяете например только заголовок.
PUT /articles/12
{ title: 'Новый заголовок' }
PATCH /articles/12
{ title: 'Новый заголовок' }
Первый запрос изменит заголовок title и очистит поле content, потому что вы его не передали. PUT меняет объект целиком.
Второй запрос изменит только поле заголовок, не трогая поля content, потому что вы его не передали. PATCH изменяет отдельные поля ресурса.