--- title: REST-клиент description: Настройка REST-клиента сервиса для работы с внешним API. keywords: [rest, api, данные, infra, клиент, swr, стратегии] --- # REST-клиент Настройка REST-клиента сервиса для работы с внешним API. ## Настройка Для каждого внешнего сервиса создаётся отдельный API-клиент: `pet-store-api`, `billing-api`, `maps-api`. На этом этапе внешний API оформляется как модуль слоя `infra/`. Клиент отвечает за: - генерацию или ручное описание методов API; - настройку `baseUrl`; - заголовки и авторизацию; - обработку ошибок; - кастомизацию и расширение типов; - GET-хуки для клиентских компонентов; - прямое использование методов клиента в серверном коде и submit-функциях; - публичный API модуля. Если у API есть OpenAPI-спецификация — клиент генерируется автоматически. Если OpenAPI нет или он неполный — клиент создаётся вручную. GET-хуки относятся к клиенту, потому что это прозрачные SWR-обёртки над GET-методами этого клиента. Подробнее: - [Настройка REST-клиента](./setup/index.md) - [Автогенерация из OpenAPI](./setup/auto.md) - [Ручное создание](./setup/manual.md) - [GET-хуки REST-клиента](./setup/hooks.md) - [Использование REST-клиента](./usage.md) ## Как читать раздел Если API ещё не подключён — начните с [Настройки REST-клиента](./setup/index.md). Если клиент уже создан и нужно вызвать его методы — откройте [Использование REST-клиента](./usage.md). Если клиент уже есть, но непонятно как получить данные — начните с раздела [Получение данных](../data-fetch/index.md). Если данные нужны в Client Component — сначала проверьте, есть ли [GET-хук REST-клиента](./setup/hooks.md). Если в коде появляется бизнес-смысл вроде `isAuth`, `canEdit`, `hasAccess` — это уже не REST-клиент, а `business/`.