14 lines
1.0 KiB
Markdown
14 lines
1.0 KiB
Markdown
# Контракт API
|
|
|
|
`apps/api/openapi.json` — автоматически сгенерированный снимок фактического FastAPI-контракта. Он фиксирует пути, методы, параметры, response schemas и security metadata перед декомпозицией routers. Файл нельзя править вручную.
|
|
|
|
После осознанного изменения API:
|
|
|
|
```bash
|
|
.venv/bin/python apps/api/export_openapi.py
|
|
git diff -- apps/api/openapi.json
|
|
.venv/bin/python apps/api/export_openapi.py --check
|
|
```
|
|
|
|
CI выполняет режим `--check` после тестов и падает, если код и committed artifact расходятся. Изменение снимка должно находиться в том же коммите, что реализация и тесты нового контракта. Перестановка routers без изменения публичного поведения не должна менять artifact.
|