REST
Определение: REST (Representational State Transfer) — это подход к проектированию API, где всё строится вокруг «ресурсов» (например, товары, заказы, пользователи), а действия выполняются стандартными HTTP-методами (GET, POST, PUT/PATCH, DELETE). Обычно REST-API возвращает данные в JSON и делает интерфейс взаимодействия предсказуемым.
Зачем это нужно
- Делать API понятным и единообразным: одинаковые правила для разных сущностей.
- Упрощать разработку фронтенда и мобильных приложений: меньше «догадок», больше стандарта.
- Быстрее подключать интеграции и сторонние сервисы — структура запросов ожидаемая.
- Удобно масштабировать проект: новые ресурсы добавляются по знакомому шаблону.
- Проще тестировать и отлаживать: запросы легко повторить в браузере, Postman или DevTools.
- Поддерживать кэширование и производительность, когда это уместно (например, для GET-запросов).
Пример
Пример кода:
GET /api/products/42
200 OK
{ "id": 42, "name": "Кофемашина", "price": 19990 }
POST /api/orders
{ "product_id": 42, "qty": 1 }
201 Created
{ "order_id": 1005, "status": "created" }
PATCH /api/orders/1005
{ "status": "paid" }
200 OK
{ "order_id": 1005, "status": "paid" }
DELETE /api/cart/items/42
204 No Content
Здесь «products», «orders», «cart/items» — ресурсы, а методы показывают действие: GET получить, POST создать, PATCH частично изменить, DELETE удалить. Из-за такой предсказуемости REST-API проще поддерживать и расширять.
Скриншот
Подпись к скриншоту: Покажите страницу документации API или таблицу эндпоинтов с методами (GET/POST/PATCH/DELETE), путями и примером JSON-ответа
Частые ошибки
- Называть REST-ом любое API, даже если нет ресурсов и стандартных методов, а всё сделано «как получится».
- Использовать GET для изменения данных (например, «GET /api/order/pay») — это ломает логику и кэширование.
- Смешивать форматы и статусы: всегда отвечать 200 OK, даже при ошибках или создании ресурса.
- Делать слишком «глагольные» URL вместо ресурсов (например, /createOrder, /getProducts).
- Не продумывать пагинацию, фильтры и сортировки для списков — API становится неудобным.
Связанные термины
- API
- HTTP-методы (GET, POST, PUT, PATCH, DELETE)
- Endpoint (эндпоинт)
- JSON
- CRUD
- Статусы HTTP (200, 201, 204, 400, 401, 404, 500)
- GraphQL
Наши услуги
- Создание корпоративных сайтов — проектируем REST-API под личные кабинеты, каталоги, заказы и роли доступа.
- Доработка сайтов — приводим API к понятной REST-структуре, добавляем фильтры, пагинацию и статусы.
- Техническая поддержка сайтов — мониторим ошибки, оптимизируем производительность и безопасность API.