diff --git a/main.py b/main.py index e93e661..15ab376 100644 --- a/main.py +++ b/main.py @@ -4,9 +4,11 @@ import os import fastapi_plugins from fastapi import FastAPI, Request from fastapi.exceptions import HTTPException, RequestValidationError +from fastapi.middleware.wsgi import WSGIMiddleware from fastapi_sqlalchemy import DBSessionMiddleware from config import init_config +from src.middleware.flask import flask_app from src.utils.exception import (http_exception_handler, request_validation_error_handler) @@ -41,9 +43,15 @@ def create_app(): app.add_exception_handler(HTTPException, http_exception_handler) app.add_exception_handler(RequestValidationError, request_validation_error_handler) + # 可以在这里挂载Flask的应用,复用之前项目的相关代码 + app.mount("/v1", WSGIMiddleware(flask_app)) + # 在这里添加API route from src.api import example app.include_router(example.router, tags=["API示例"], prefix="/example") + + + return app diff --git a/src/middleware/__init__.py b/src/middleware/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/middleware/flask.py b/src/middleware/flask.py new file mode 100644 index 0000000..21340c5 --- /dev/null +++ b/src/middleware/flask.py @@ -0,0 +1,9 @@ +from flask import Flask, escape, request + +flask_app = Flask(__name__) + + +@flask_app.route("/") +def index(): + name = request.args.get("name", "World") + return f"Hello, {escape(name)} from Flask!" \ No newline at end of file