Назначение и роль методов 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