936 B
936 B
002. OpenAPI, генерируемый NestJS, как контракт API
Status: Accepted, baseline decision
Context
Ручные frontend-типы и описания маршрутов расходятся с backend и создают дублирование.
Decision
NestJS генерирует OpenAPI из контроллеров и DTO для API с префиксом /api/v1. Frontend локальной воспроизводимой командой генерирует и хранит API-клиент в своем репозитории; runtime использует только этот клиент, а не OpenAPI endpoint.
Consequences
Изменение HTTP-контракта требует регенерации клиента. Swagger/OpenAPI публикуется для локальной разработки и не является runtime-зависимостью frontend.