fastapi自定义中间件

fastapi自定义中间件

1、自定义中间件类

python 复制代码
from fastapi import Request
from starlette.middleware.base import BaseHTTPMiddleware

class MyMiddleware(BaseHTTPMiddleware):
    def __init__(self, app,*args, **kwargs):
        super().__init__(app,*args, **kwargs)

    async def dispatch(self, request: Request, call_next):
        print("MyMiddleware =============================== ")
        # 接收来自客户端的Request请求;
        headers = dict(request.scope['headers'])
        # 将Request请求传回原路由
        response = await call_next(request)
        return response

2、使用自定义中间件

python 复制代码
app.add_middleware(MyMiddleware)

3、中间件执行顺序,从下往上执行

python 复制代码
app.add_middleware(xx1)
app.add_middleware(xx2)

会先执行xx2再执行xx1

相关推荐
人道领域3 分钟前
【黑马点评日记】社交平台用户关注功能全解析Feed流相关操作
java·开发语言·数据库·redis·python
Andy Dennis3 分钟前
mcp python-sdk使用记录
python·agent·mcp
zhoutongsheng16 分钟前
mysql如何处理表空间碎片问题_执行OPTIMIZE TABLE整理
jvm·数据库·python
狼与自由20 分钟前
Harness
python
Python私教24 分钟前
从PySide6到Rich+FastAPI:如意Agent终端版架构重构全记录
重构·架构·fastapi
IT策士35 分钟前
Python mcp研究:入门到精通
开发语言·python·qt
罗技12338 分钟前
告别“兼容模式“:Easysearch 有了自己的官方 Python 客户端
开发语言·python
IT策士39 分钟前
Python 常见的设计模型:入门到精通
开发语言·python
好奇的菜鸟39 分钟前
Java开发常用中间件,Docker安装。
java·docker·中间件