feat: 新增flask中间件

This commit is contained in:
chenwj 2023-01-18 14:13:26 +08:00
parent 59db9888f2
commit f45dab6b07
3 changed files with 17 additions and 0 deletions

View File

@ -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

View File

9
src/middleware/flask.py Normal file
View File

@ -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!"