核心实现:搭建 Monorepo 架构,完成 shared 共享包、gateway、user-service 基础框架开发 技术落地:严格匹配指定技术栈版本,完成 Docker、gRPC、FastAPI、PostgreSQL、Redis 等配置,实现服务间基础连通 配套文件:生成 Makefile、环境变量模板、数据库 / 脚本初始化文件及启动验证文档 架构定位:仅搭建基础架构骨架,无任何业务逻辑、业务规则及业务相关字段,为后续业务开发提供支撑
43 lines
1.0 KiB
Python
43 lines
1.0 KiB
Python
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
|
|
)
|