Работа с API
Слой API отвечает исключительно за HTTP-запросы и транспорт. Он не управляет состоянием и не знает о UI. Управление жизненным циклом данных, полученных с сервера, описано в разделе "Управление Server State".
Цели
- Изоляция сетевой логики в выделенном слое
shared/api. - Обеспечение единого HTTP-клиента с централизованной конфигурацией.
- Строгая типизация всех запросов и ответов (DTO).
- Поддержка отмены запросов и корректная обработка ошибок.
Общие принципы
MUST
- Единый HTTP-клиент — использование общего инстанса (xior, wretch, ky) с настроенными интерсепторами.
- Изоляция — сетевая логика находится только в
src/shared/api. UI не делает запросы напрямую. - Типизация — все запросы строго типизированы через DTO. Использование
anyзапрещено. - Обработка ошибок — приведение ошибок к единому формату (
ApiError).
SHOULD
- Тонкие доменные сервисы (
usersApi,ordersApi) без бизнес-логики. - Проброс
AbortSignalво все методы API для поддержки отмены запросов.
Разделы документации
- Требования к HTTP-запросам — Подробные правила проектирования API-слоя, типизации, обработки ошибок и отмены запросов.
- Контроль и автоматизация — Правила Code Review, инструменты автоматизации и чеклист разработчика.