Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГАК-2026.docx
Скачиваний:
1
Добавлен:
16.06.2026
Размер:
2.66 Mб
Скачать

3. Виды api

3.1. По типу доступа

  • Открытые (публичные) API — доступны для всех разработчиков (например, API погоды, API карт).

  • Внутренние (приватные) API — используются только внутри компании для взаимодействия между своими сервисами.

  • Партнёрские API — доступны только для определённых партнёров.

3.2. По протоколам и архитектуре

  • REST API — самый популярный тип для веб-приложений. Использует HTTP и принципы REST.

  • SOAP API — более старый, использует XML и строгие стандарты. Часто используется в корпоративных системах.

  • GraphQL API — современный подход, позволяющий клиенту запрашивать только нужные данные.

  • gRPC API — высокопроизводительный, использует Protocol Buffers, подходит для микросервисов.

  • WebSocket API — для двусторонней связи в реальном времени.

3.3. По назначению

  • Web API — для взаимодействия через Интернет (HTTP/HTTPS).

  • OS API — для взаимодействия с операционной системой (WinAPI, POSIX).

  • Библиотечные API — для использования функций библиотек (например, API Java Standard Edition).

  • Аппаратные API — для управления устройствами (например, API видеокарты).

4. Rest api — основной тип для веб-приложений

REST (Representational State Transfer) — это архитектурный стиль, который мы подробно разбирали в вопросе 26.

Основные характеристики REST API:

  • Работает поверх HTTP.

  • Использует стандартные HTTP-методы (GET, POST, PUT, DELETE, PATCH).

  • Ресурсы идентифицируются с помощью URL (например, /api/users/123).

  • Данные обычно передаются в формате JSON (реже XML).

  • Не хранит состояние клиента (stateless).

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

Запрос:

5. Api в веб-приложениях

В современной веб-разработке API играет центральную роль. Рассмотрим типичную архитектуру:

5.1. Отделение фронтенда от бэкенда

Раньше веб-приложения часто были монолитными: сервер генерировал HTML и отсылал его браузеру. Сейчас популярен подход, где:

  • Бэкенд предоставляет API (обычно REST или GraphQL).

  • Фронтенд (SPA — Single Page Application на React, Vue, Angular или мобильное приложение) общается с бэкендом через этот API, получая данные в формате JSON и динамически обновляя интерфейс.

Преимущества:

  • Один бэкенд может обслуживать разные клиенты (веб, мобильные приложения, сторонние сервисы).

  • Фронтенд и бэкенд разрабатываются независимо.

  • Легче масштабировать (можно кэшировать API-ответы).

5.2. Интеграция со сторонними сервисами

Веб-приложения редко существуют в вакууме. Они используют API других сервисов:

  • Платёжные системы — Stripe, PayPal, YooKassa API для приёма платежей.

  • Карты и геоданные — Google Maps API, Яндекс.Карты API.

  • Социальные сети — API Facebook, VK, Twitter для входа через соцсети, публикации постов.

  • Облачные хранилища — Google Drive API, Dropbox API.

  • Почтовые сервисы — SendGrid API, Mailchimp API для рассылок.

  • Мессенджеры — Telegram Bot API, Slack API.

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

В микросервисах (см. вопрос 26) каждый сервис предоставляет свой API для взаимодействия с другими сервисами. API здесь — это способ общения между независимыми компонентами системы

6. Примеры использования api Пример 1: Интернет-магазин с оплатой через PayPal

Когда пользователь оформляет заказ и выбирает оплату PayPal:

  1. Бэкенд магазина отправляет запрос в API PayPal с суммой, валютой, описанием заказа.

  2. PayPal возвращает ссылку для оплаты или токен.

  3. Бэкенд отдаёт эту ссылку фронтенду.

  4. Пользователь переходит по ссылке на сайт PayPal и оплачивает.

  5. PayPal присылает вебхук (уведомление) на сервер магазина о результате оплаты.

  6. Бэкенд обновляет статус заказа в базе данных.