Вопрос проверяет знание основных HTTP-методов и их назначения в REST API.
В REST используют методы GET, POST, PUT, PATCH и DELETE. GET применяется для получения данных, POST — для создания, PUT — для полного обновления сущности, PATCH — для частичного, DELETE — для удаления. Каждый метод имеет свою семантику и ожидаемое поведение, что важно для построения предсказуемых API.
При проектировании REST важно правильно использовать HTTP-методы, так как они несут смысловую нагрузку.
GET
получение данных
не изменяет состояние сервера
безопасен и идемпотентен
POST
создание нового ресурса
не является идемпотентным
сервер обычно генерирует id
PUT
полное обновление ресурса
идемпотентен (повтор запроса даёт тот же результат)
PATCH
частичное обновление ресурса
изменяются только указанные поля
не обязан быть идемпотентным
DELETE
удаление ресурса
идемпотентен (повторный DELETE ничего не ломает)
Дополнительно используются:
HEAD — получить только заголовки
OPTIONS — поддержка CORS, preflight-запросы
PUT/POST/PATCH с Content-Type: application/json — основной формат тела запроса
улучшает предсказуемость API
упрощает интеграции
даёт корректную работу кешей, прокси, браузеров
снижает риск ошибок при работе с состоянием
REST API строится на правильной семантике HTTP-методов: GET — читаем, POST — создаём, PUT/PATCH — обновляем, DELETE — удаляем. Это основа корректного и ожидаемого поведения API.