Sobes.tech
Back to questions
Senior
4

Какие HTTP-методы использовались при проектировании REST API? В чём разница между PATCH и POST?

Companies where asked
Сбербанк

Answer from AI

sobes.tech AI

При проектировании REST API обычно используются следующие HTTP-методы:

  • GET — получение ресурса или списка ресурсов.
  • POST — создание нового ресурса.
  • PUT — полное обновление ресурса.
  • PATCH — частичное обновление ресурса.
  • DELETE — удаление ресурса.

Разница между PATCH и POST:

  • POST используется для создания новых ресурсов или выполнения операций, которые не являются идемпотентными. Например, отправка формы для создания записи.

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

Пример PATCH-запроса для обновления email пользователя:

PATCH /users/123 HTTP/1.1
Content-Type: application/json

{
  "email": "newemail@example.com"
}

POST же чаще выглядит так:

POST /users HTTP/1.1
Content-Type: application/json

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

Таким образом, PATCH более экономен при обновлении, а POST — для создания или выполнения действий.