К списку
HTTP, REST и APISeniorТехническое

Назначение и роль методов HTTP в REST API

Краткий ответ

Методы HTTP в REST API задают конкретные операции над ресурсами, такие как получение, создание, изменение или удаление. Каждый метод имеет определённую семантику, что обеспечивает стандартизированное взаимодействие клиента и сервера.

Развёрнуто

Краткий ответ

Методы HTTP в REST API определяют, какое действие клиент намерен выполнить с ресурсом. Основные методы — это GET для чтения, POST для создания, PUT для замены, PATCH для частичного обновления и DELETE для удаления ресурса.


Как это работает

В архитектуре REST методы HTTP служат для выражения намерений клиента по отношению к ресурсам на сервере. Каждый метод несёт уникальную семантику:

  • GET — извлечение представления ресурса без изменения его состояния;
  • POST — создание нового ресурса или выполнение операции, которая изменяет состояние сервера;
  • PUT — полное обновление ресурса, заменяющее существующее состояние;
  • PATCH — частичное обновление ресурса, изменяющее только указанные поля;
  • DELETE — удаление ресурса.

Это разграничение позволяет создавать предсказуемые и стандартизированные API, которые легко тестировать и поддерживать.

Метод Описание Идемпотентность
GET Получение ресурса Да
POST Создание ресурса Нет
PUT Полное обновление ресурса Да
PATCH Частичное обновление Нет (обычно)
DELETE Удаление ресурса Да

Пример

GET /users/123        # Получить пользователя с ID 123
POST /users           # Создать нового пользователя с данными в теле запроса
PUT /users/123        # Заменить данные пользователя с ID 123 полностью
PATCH /users/123      # Обновить часть данных пользователя с ID 123
DELETE /users/123     # Удалить пользователя с ID 123

Что важно знать на собеседовании

  • Методы HTTP в REST строго соответствуют операциям CRUD.
  • Идемпотентность — ключевое свойство для методов GET, PUT, DELETE.
  • POST обычно не идемпотентен и используется для создания или запуска действий.
  • PATCH применяется для частичного изменения ресурса и не всегда идемпотентен.
  • Правильное использование методов повышает предсказуемость и надёжность API.

Тема: HTTP, REST и API | Уровень: senior