Phone icon Связаться с нами

API и интеграции

Что такое REST API?

REST API — это самый распространённый стиль построения веб-API, в котором у каждого объекта системы есть свой адрес, а действие с ним задаёт HTTP-метод: GET — получить, POST — создать, PUT — изменить, DELETE — удалить.

Адрес описывает ресурс, а метод — операцию. Запрос GET /users/42 возвращает данные пользователя, а DELETE /users/42 удаляет его. В ответе есть данные, обычно в формате JSON, и код статуса: 200 — успех, 404 — объект не найден, 401 — нет авторизации.

Ещё одно важное свойство REST — отсутствие состояния: каждый запрос самостоятелен и содержит всё необходимое, в том числе токен авторизации. Сервер не помнит предыдущих запросов, и это упрощает масштабирование.

Где применяется

REST — фактический стандарт для связи фронтенда с бэкендом и сервисов между собой. На нём построены публичные API GitHub, Stripe, Telegram и большинство корпоративных систем. В Java REST API пишут контроллерами Spring Boot, в Python — на FastAPI или Django REST Framework, в Node.js — на Express.

Вокруг REST сложились и рабочие инструменты. Разработчик описывает методы в OpenAPI и получает готовую документацию, QA-инженер собирает коллекции запросов в Postman, автоматизатор пишет проверки на REST Assured или requests, а DevOps по кодам ответов следит, исправно ли работает сервис.

Пример

Мобильное приложение банка показывает историю операций: запрос GET /accounts/42/transactions?limit=20 возвращает двадцать последних операций и код 200. Если токен просрочен, приходит код 401, и приложение незаметно для пользователя обновляет токен и повторяет запрос.

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer <token>

{
  "name": "Анна",
  "email": "anna@example.com"
}

HTTP/1.1 201 Created
Location: /api/users/42

{
  "id": 42,
  "name": "Анна",
  "email": "anna@example.com"
}
Создание пользователя: метод и адрес задают операцию, тело запроса передаёт данные, а код ответа сообщает результат.

Частые вопросы

Чем REST отличается от SOAP?

SOAP — строгий протокол на основе XML с обязательным описанием контракта и собственными правилами безопасности. REST — набор договорённостей поверх обычного HTTP, обычно с JSON. SOAP ещё встречается в банках и государственных системах, а новые публичные API почти всегда делают на REST.

Что означают коды ответа 401 и 403?

401 означает, что сервер вас не узнал: токен не передан, просрочен или неправильный. 403 — вас узнали, но прав на это действие нет. В первом случае помогает повторная авторизация, во втором — изменение прав пользователя, а повторять запрос нет смысла.

Обязательно ли REST API возвращает JSON?

Нет, формат не является частью REST. Почти всегда это JSON, потому что он компактный и поддерживается везде, но тот же метод может вернуть XML, CSV или файл. Нужный формат клиент указывает в заголовке Accept.

Что такое идемпотентность запроса?

Идемпотентный запрос можно повторить несколько раз, и результат будет тот же. Такими задуманы GET, PUT и DELETE, а POST — нет: два одинаковых POST-запроса создадут два заказа. Поэтому повторную отправку платежей защищают уникальным ключом операции.

Обучение программированию в OWU

Освойте профессию в IT на практических курсах с менторами и реальными проектами.

Выбрать курс