REST
Раздел описывает, как правильно работать с REST API в проекте: создать клиент сервиса и выбрать способ получения данных в приложении.
REST в проекте проходит через два главных этапа:
- Создание клиента.
- Использование.
1. Создание клиента
На этом этапе внешний API оформляется как модуль слоя infrastructure/.
Клиент отвечает за:
- генерацию или ручное описание методов API;
- настройку
baseUrl; - заголовки и авторизацию;
- обработку ошибок;
- кастомизацию и расширение типов;
- GET-хуки для клиентских компонентов;
- публичный API модуля.
Если у API есть OpenAPI-спецификация — клиент генерируется автоматически. Если OpenAPI нет или он неполный — клиент создаётся вручную.
GET-хуки относятся к клиенту, потому что это прозрачные SWR-обёртки над GET-методами этого клиента.
Подробнее:
2. Использование
После создания клиента нужно определить рендер страницы и выбрать, как получать данные в конкретном месте приложения.
Раздел использования отвечает на вопросы:
- как понять, можно ли сохранить static/ISR;
- когда страница становится dynamic/SSR;
- когда получать данные через серверный
await; - когда запускать несколько серверных запросов параллельно;
- когда передавать промис ниже по дереву;
- когда передавать начальные данные клиентским GET-хукам;
- когда использовать GET-хук в клиентском компоненте;
- когда выносить композицию и бизнес-смысл в
business/.
Подробнее:
- Стратегии получения данных
- Серверный await
- Параллельные серверные запросы
- Передача промиса ниже
- Начальные данные для клиентских хуков
- Клиентский GET-хук
- Business-композиция
Как читать раздел
Если API ещё не подключён — начните с Создания клиента.
Если клиент уже есть, но непонятно как получить данные — начните со Стратегий получения данных.
Если данные нужны в Client Component — сначала проверьте, есть ли GET-хук REST-клиента.
Если в коде появляется бизнес-смысл вроде isAuth, canEdit, hasAccess — это уже не REST-клиент, а business/.