Яндекс.Метрика
Москва, Волгоградский пр-т,
43к3, оф. 301
Пишите 24/7, мы онлайн
+7 (495) 128-00-14
последнее обновление: 16.12.2025

Определение: 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 проще поддерживать и расширять.

Скриншот

Документация REST API со списком эндпоинтов: GET /api/products, POST /api/orders, PATCH /api/orders/{id} и примерами JSON

Подпись к скриншоту: Покажите страницу документации 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

Наши услуги