Что такое REST API и принципы его работы

REST API (Representational State Transfer Application Programming Interface) — формально это архитектурный стиль для создания веб-сервисов, основанный на стандартных HTTP-методах (GET, POST, PUT, DELETE и др.) и принципах REST.

Буквально REST — Representational State Transfer —  это передача (Transfer) репрезентативного или «самоописываемого» состояния (Representational State), т.е. язык или правила отправки и получения запросов.

API (Application Programming Interface — программный интерфейс приложений) — это линия связи между приложениями. Используя API, одно приложение обращается к другому, получает в ответ какую-то информацию, или своим запросом изменяет информацию на другой стороне провода.
Например, битряк интернет-магазина спрашивает бухгалтерскую/складскую эску, а есть ли реально в наличии такой-то товар, и если есть — получает ОК, выписывает счет клиенту и перезаписывает в эску резерв или новый остаток.

🔹 Основные принципы REST:

    1. Клиент-серверная архитектура – разделение клиента (например, браузера или мобильного приложения) и сервера (который обрабатывает запросы).

    1. Stateless (без состояния) – каждый запрос содержит всю необходимую информацию для его обработки (сервер не хранит состояние клиента между запросами).

    1. Кэширование – ответы сервера могут кэшироваться для повышения производительности.

    1. Единообразие интерфейса – стандартизация работы с ресурсами через URI (например, /users) и HTTP-методы.

    1. Слоистая система – клиент не знает, взаимодействует ли он напрямую с сервером или через промежуточные узлы (прокси, балансировщики нагрузки).

    1. Код по требованию (опционально) – сервер может передавать клиенту исполняемый код (например, JavaScript).

🔹 Как работает REST API?

    • Ресурсы определяются через URI (например, https://api.example.com/users).

    • HTTP-методы указывают действие:

    • GET – получить данные (например, список пользователей).

    • POST – создать новый ресурс (например, добавить пользователя).

    • PUT/PATCH – обновить ресурс (полное/частичное изменение).

    • DELETE – удалить ресурс.

    • Формат данных – обычно JSON (реже XML).

🔹 Пример REST API запроса:

GET https://api.example.com/users/1

Ответ (JSON):

{
  "id": 1,
  "name": "Иван Иванов",
  "email": "ivan@example.com"
}

🔹 Отличия REST от других API (например, SOAP, GraphQL):

    • REST – простой, основан на HTTP, использует JSON/XML.

    • SOAP – строгий протокол с XML, сложнее в настройке.

    • GraphQL – позволяет клиенту запрашивать только нужные данные (в REST ответ фиксирован).

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

    • Мобильные приложения.

    • Веб-приложения (React, Angular, Vue).

    • Микросервисная архитектура.

    • Интеграция между сервисами (например, платежные системы, соцсети).

REST API популярен благодаря простоте, масштабируемости и удобству работы с современными фронтенд-фреймворками. 

Telegram
VK
Email
Прокрутить вверх