From f45dab6b07b0d7821de2f14b4d54c38789fe7cfb Mon Sep 17 00:00:00 2001 From: chenwj <654891551@qq.com> Date: Wed, 18 Jan 2023 14:13:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9Eflask=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 8 ++++++++ src/middleware/__init__.py | 0 src/middleware/flask.py | 9 +++++++++ 3 files changed, 17 insertions(+) create mode 100644 src/middleware/__init__.py create mode 100644 src/middleware/flask.py 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