Что такое REST? Какие HTTP-методы используются и когда?
Подробный ответ
Что такое REST
REST, Representational State Transfer, — архитектурный стиль взаимодействия между клиентом и сервером. В REST ресурс имеет URL, например /api/users/42, а клиент получает или изменяет его представление, обычно JSON, через HTTP.
Основные принципы
клиент и сервер разделены по ответственности;
запросы должны быть stateless: сервер не хранит состояние клиентской сессии между запросами без явного механизма;
ресурсы имеют понятные идентификаторы, обычно URL;
используются единообразные HTTP-интерфейсы;
ответы могут кэшироваться, если это уместно.
Основные HTTP-методы
| Метод | Назначение | Пример |
|---|---|---|
GET | Получить ресурс или список ресурсов | GET /api/articles/42 |
POST | Создать ресурс или выполнить действие | POST /api/articles |
PUT | Полностью заменить ресурс по известному URL | PUT /api/articles/42 |
PATCH | Частично обновить ресурс | PATCH /api/articles/42 |
DELETE | Удалить ресурс | DELETE /api/articles/42 |
Пример REST-маршрутов
GET /api/articles
POST /api/articles
GET /api/articles/42
PATCH /api/articles/42
DELETE /api/articles/42Идемпотентность
GET, PUT и DELETE обычно считаются идемпотентными: повторение одинакового запроса должно приводить к тому же итоговому состоянию. POST обычно не идемпотентен, потому что повторная отправка может создать несколько ресурсов, если API не использует idempotency key.
Как ответить на собеседовании
REST — стиль API, где клиент работает с ресурсами по URL через стандартные HTTP-методы. GET использую для чтения, POST — для создания или действия, PUT — для полной замены, PATCH — для частичного обновления, DELETE — для удаления. Хороший REST API использует понятные URL, корректные методы, status codes и stateless-запросы.
Оцени свой прогресс