mirror of
https://github.com/Jerryplusy/AI-powered-switches.git
synced 2025-10-14 01:39:18 +00:00
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from fastapi import FastAPI, responses
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from starlette.middleware import Middleware # 新增导入
|
|
from src.backend.app.api.endpoints import router
|
|
from src.backend.app.utils.logger import setup_logging
|
|
from src.backend.config import settings
|
|
|
|
def create_app() -> FastAPI:
|
|
setup_logging()
|
|
|
|
app = FastAPI(
|
|
title=settings.APP_NAME,
|
|
debug=settings.DEBUG,
|
|
docs_url=f"{settings.API_PREFIX}/docs",
|
|
redoc_url=f"{settings.API_PREFIX}/redoc",
|
|
openapi_url=f"{settings.API_PREFIX}/openapi.json",
|
|
middleware=[
|
|
Middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
]
|
|
)
|
|
|
|
@app.get("/", include_in_schema=False)
|
|
async def root():
|
|
return responses.RedirectResponse(url=f"{settings.API_PREFIX}/docs")
|
|
app.include_router(router, prefix=settings.API_PREFIX)
|
|
return app
|
|
|
|
app = create_app()
|