Главная идея
REST — это договорённость, а не технология
REST (Representational State Transfer) — стиль построения API, предложенный Роем Филдингом в 2000 году.1 Не язык, не протокол — набор соглашений о том, как называть адреса и какими методами работать с данными.
Центральная идея REST: данные представлены как ресурсы (resource) — сущности вроде товаров, пользователей, заказов. У каждого ресурса есть свой URL. А действия над ресурсами выражаются стандартными HTTP-методами, которые вы уже знаете из блока 1: GET (читать), POST (создать), PUT/PATCH (изменить), DELETE (удалить). Каждый ответ сопровождается статус-кодом — тоже из блока 1 (200, 201, 404, 500 и другие).
Главная ценность REST — предсказуемость.2 Потому что соглашения одинаковые везде: выучили логику в одном API — понимаете любое другое, построенное по тем же правилам.
| Запрос | Что делает | Типичный статус |
|---|---|---|
GET /products |
Список товаров | 200 OK |
GET /products/42 |
Товар №42 | 200 OK или 404 |
POST /products |
Создать товар | 201 Created |
PUT /products/42 |
Заменить товар №42 целиком | 200 OK |
PATCH /products/42 |
Изменить часть данных товара №42 | 200 OK |
DELETE /products/42 |
Удалить товар №42 | 200 OK или 204 No Content |
📌 Зная стиль REST, по методу и адресу угадываете, что делает запрос, ещё до чтения документации. Это и есть главная выгода соглашений.