import uvicorn from fastapi import FastAPI, HTTPException from fastapi.responses import ORJSONResponse from core.settings import settings from api.main_router import router as main_router from api.another_router import router as another_router from core.models import db_helper from contextlib import asynccontextmanager @asynccontextmanager async def lifespan(app: FastAPI): #start up yield #shutdown await db_helper.dispose() main_app = FastAPI( lifespan=lifespan, default_response_class=ORJSONResponse ) #api/hello main_app.include_router( router=main_router, prefix="/api", tags=["Основной роутер"] ) main_app.include_router( router=another_router, prefix="/another", tags=["Побочный роутер"] ) if __name__ == "__main__": uvicorn.run(main_app, host=settings.run.host, port=settings.run.port)