main.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # 1. 先创建 FastAPI 应用实例(只创建一次)
  2. from fastapi import FastAPI
  3. from fastapi.middleware.cors import CORSMiddleware # 导入 CORS 模块
  4. app = FastAPI() # 核心实例,只定义一次
  5. # 2. 配置 CORS(在注册路由前配置)
  6. app.add_middleware(
  7. CORSMiddleware,
  8. allow_origins=["http://localhost:5173"], # 允许前端 Vite 服务地址
  9. allow_credentials=True, # 允许携带 cookies
  10. allow_methods=["*"], # 允许所有 HTTP 方法(GET/POST等)
  11. allow_headers=["*"], # 允许所有请求头
  12. )
  13. # 3. 注册路由(必须显式挂载,否则路由不生效)
  14. from app.api import vector # 导入路由模块
  15. app.include_router(vector.router) # 将 vector 中的路由挂载到 app
  16. # 4. 启动服务(最后执行)
  17. if __name__ == "__main__":
  18. import uvicorn
  19. # 运行上面定义的 app 实例(已包含 CORS 和路由配置)
  20. uvicorn.run("app.main:app", host="0.0.0.0", port=8000, reload=True)
  21. # 创建 FastAPI 应用实例
  22. app = FastAPI()
  23. # ========= 新增 CORS 配置 =========
  24. app.add_middleware(
  25. CORSMiddleware,
  26. allow_origins=["http://localhost:5173"], # 允许前端地址
  27. allow_credentials=True,
  28. allow_methods=["*"], # 允许所有方法
  29. allow_headers=["*"], # 允许所有头
  30. )