run_api.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from api import recommend_router, report_router, eval_report_router
  2. from fastapi import FastAPI, Request, status
  3. from fastapi.exceptions import RequestValidationError
  4. from fastapi.responses import JSONResponse
  5. import uvicorn
  6. app = FastAPI()
  7. # 添加全局异常处理器
  8. @app.exception_handler(RequestValidationError)
  9. async def validation_exception_handler(request: Request, exc: RequestValidationError):
  10. return JSONResponse(
  11. status_code=status.HTTP_400_BAD_REQUEST,
  12. content={
  13. "code": 400,
  14. "msg": "请求参数错误",
  15. "data": {
  16. "detail": exc.errors(),
  17. "body": exc.body
  18. }
  19. },
  20. )
  21. url_prefix = '/brandcultivation/api/v1'
  22. # 注册路由
  23. app.include_router(recommend_router, prefix=url_prefix)
  24. app.include_router(report_router, prefix=url_prefix)
  25. app.include_router(eval_report_router, prefix=url_prefix)
  26. if __name__ == "__main__":
  27. uvicorn.run(app, host="0.0.0.0", port=7960)
  28. # report_dir = "./data/reports/00000000000000000000000011445301/440298"
  29. # upload_file(report_dir)