← Назад к вопросам

Какие знаешь методы в REST?

1.0 Junior🔥 101 комментариев
#Интеграции и API

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

REST методы (HTTP verbs)

REST базируется на стандартных HTTP методах для выполнения операций над ресурсами. Вот основные методы, которые используются в RESTful API:

Основные методы

GET — получение данных

  • Безопасный метод (не изменяет состояние сервера)
  • Идемпотентный (повторный вызов дает тот же результат)
  • Кэшируется
  • Пример: GET /api/users/123 — получить пользователя с ID 123

POST — создание нового ресурса

  • Небезопасный метод (может изменять состояние)
  • Не идемпотентный (повторный вызов создаст дублем)
  • Данные в теле запроса
  • Пример: POST /api/users — создать нового пользователя

PUT — полное обновление ресурса

  • Заменяет весь ресурс целиком
  • Идемпотентный (результат не изменится при повторном вызове)
  • Требует полный объект данных
  • Пример: PUT /api/users/123 — полностью обновить пользователя

PATCH — частичное обновление ресурса

  • Обновляет только переданные поля
  • Идемпотентный
  • Более экономичный, чем PUT
  • Пример: PATCH /api/users/123 — обновить только имя пользователя

DELETE — удаление ресурса

  • Идемпотентный
  • Повторный вызов также будет успешным (или вернет 404)
  • Пример: DELETE /api/users/123 — удалить пользователя

Дополнительные методы

HEAD — как GET, но без тела ответа (проверка доступности ресурса)

OPTIONS — получение информации о доступных методах для ресурса (CORS, документация API)

Коды статуса HTTP

Кроме методов, важно понимать ответы сервера:

  • 2xx (200 OK, 201 Created, 204 No Content) — успех
  • 3xx (301 Moved, 304 Not Modified) — перенаправление
  • 4xx (400 Bad Request, 401 Unauthorized, 404 Not Found) — ошибка клиента
  • 5xx (500 Internal Server Error) — ошибка сервера

Практический пример

Для управления проектом:

  • GET /api/projects — список всех проектов
  • GET /api/projects/5 — конкретный проект
  • POST /api/projects — создать новый проект
  • PATCH /api/projects/5 — обновить статус проекта
  • DELETE /api/projects/5 — архивировать проект

Понимание этих методов критично для проектирования APIs и работы с внешними сервисами.