← Назад к вопросам
Какие знаешь методы в REST?
1.0 Junior🔥 151 комментариев
#Браузер и сетевые технологии
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Какие знаешь методы в REST?
REST использует HTTP методы для выполнения операций над ресурсами. Каждый метод имеет своё назначение и семантику.
Основные методы REST
GET - получение данных
GET /api/users
GET /api/users/123
GET /api/users?name=John
Безопасный, кэшируемый, не изменяет состояние.
POST - создание нового ресурса
POST /api/users
{
"name": "John",
"email": "john@example.com"
}
Небезопасный, не идемпотентный, каждый вызов создаёт новый ресурс.
PUT - полное обновление ресурса
PUT /api/users/123
{
"name": "Jane",
"email": "jane@example.com",
"age": 25
}
Заменяет ресурс целиком, идемпотентный.
PATCH - частичное обновление ресурса
PATCH /api/users/123
{
"name": "Jane"
}
Обновляет только указанные поля, остальные сохраняются.
DELETE - удаление ресурса
DELETE /api/users/123
Удаляет целый ресурс, идемпотентный.
HEAD и OPTIONS
HEAD - как GET, но без тела ответа, для проверки доступности OPTIONS - для получения информации о доступных методах
Сравнение методов
| Метод | Действие | Безопасный | Идемпотентный |
|---|---|---|---|
| GET | Получить | Да | Да |
| POST | Создать | Нет | Нет |
| PUT | Заменить | Нет | Да |
| PATCH | Обновить | Нет | Нет |
| DELETE | Удалить | Нет | Да |
Практический пример
// POST создание
fetch('/api/users', {
method: 'POST',
body: JSON.stringify({ name: 'John' })
})
// PATCH обновление
fetch('/api/users/123', {
method: 'PATCH',
body: JSON.stringify({ name: 'Jane' })
})
// DELETE удаление
fetch('/api/users/123', { method: 'DELETE' })
Правильное использование HTTP методов делает API интуитивным и безопасным.