Sobes.tech
Назад к вопросам
Junior — Middle
76

Можете объяснить различия между методами HTTP PUT и PATCH в контексте REST API?

Компании, где спрашивали
VKVK
Lime

Ответ от нейросети

sobes.tech AI

Методы HTTP PUT и PATCH используются для обновления ресурсов в REST API, но отличаются по своей семантике и поведению:

  • PUT — это идемпотентный метод, который заменяет весь ресурс на сервере новым представлением, переданным в теле запроса. Если ресурс не существует, он может быть создан. При повторных запросах с одинаковыми данными результат будет одинаковым.

  • PATCH — используется для частичного обновления ресурса. В теле запроса передаются только те поля, которые нужно изменить, остальные остаются без изменений. PATCH не обязательно идемпотентен, хотя может быть.

Пример:

PUT /users/123
{
  "name": "Иван",
  "email": "ivan@example.com"
}

Заменит весь ресурс пользователя 123 новым объектом с именем и email.

PATCH /users/123
{
  "email": "newemail@example.com"
}

Обновит только поле email, имя останется прежним.