FastAPI — отключение OpenAPI.json после его создания — куда поместить код?Python

Программы на Python
Anonymous
FastAPI — отключение OpenAPI.json после его создания — куда поместить код?

Сообщение Anonymous »

FastAPI генерирует файл «openapi.json» и предоставляет к нему интерфейс.
Для эксперимента мне нужно заменить его сторонним файлом.
from pathlib import Path
import json
app.openapi_schema = json.loads(Path(r"myopenapi.json").read_text())


когда я помещаю этот код за конечной точкой, например "/"
@app.get("/", include_in_schema=FULL_SCHEMA)
def read_root():
# code here


После однократного вызова конечной точки загруженный файл myopenapi.json отображается для интерфейса «/docs», а оригинал перезаписывается. Функциональность не изменилась, старые определения по-прежнему работают.
Я хотел бы иметь возможность переключиться сразу после того, как FastAPI завершит настройку и будут созданы все конечные точки.
Помещение этого в блок кода запуска не работает (async def lifespan(app: FastAPI):) — когда это достигает доходности, app.openapi _schema еще не создана.
Где правильное место для изменения приложения FastAPI после генерации?
FastAPI запускается командой:
uvicorn.run(app, host=SERVER_HOST, port=SERVER_PORT, workers=1)


Подробнее здесь: https://stackoverflow.com/questions/785 ... ere-to-put

Вернуться в «Python»