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

相关推荐
充钱大佬2 小时前
Python测试基础教程
python·log4j·apache
初心丨哈士奇4 小时前
Python 四大基础容器|列表篇
python
明理的信封5 小时前
AI 基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径
人工智能·python·rust
麻雀飞吧6 小时前
2026年AI量化开发,先跑通小流程再加复杂功能
人工智能·python
daphne odera�6 小时前
PyCharm 中 Codex 插件启动失败:unknown variant default 的解决方法
python·chatgpt·pycharm
nbu04william7 小时前
Deepseek-api省token的用法
python·大模型·token·deepseek
测试老哥7 小时前
Pytest自动化测试详解
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试
坚持学习前端日记7 小时前
国产化适配全流程适配英伟达本地开发
人工智能·python
CaffeinePro8 小时前
FastAPI数据库集成SQLAlchemy异步ORM全方案
后端·fastapi
源图客8 小时前
云途物流API开发-鉴权认证(Java)
java·网络·python