from fastapi import FastAPI, WebSocket from app.api.v1 import users from app.ws.handlers import websocket_handler from app.core.config import settings from shared.middleware import CorrelationIdMiddleware, LoggingMiddleware, ExceptionMiddleware from loguru import logger app = FastAPI( title="Asset Helper Gateway", version="0.1.0", description="Asset Helper Backend Gateway" ) # 添加中间件 app.add_middleware(CorrelationIdMiddleware) app.add_middleware(LoggingMiddleware) app.add_middleware(ExceptionMiddleware) # 注册路由 app.include_router(users.router, prefix="/api/v1") # WebSocket 端点 @app.websocket("/ws") async def websocket_endpoint(websocket: WebSocket): await websocket_handler(websocket) @app.get("/") async def root(): return {"message": "Asset Helper Gateway is running"} @app.get("/health") async def health_check(): return {"status": "healthy"} if __name__ == "__main__": import uvicorn uvicorn.run( "main:app", host="0.0.0.0", port=settings.http_port, reload=True )