16 lines
936 B
Markdown
16 lines
936 B
Markdown
# 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.
|