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

相关推荐
for_ever_love__13 分钟前
python基础语法学习: 闭包
开发语言·python·学习·闭包
ly768917 分钟前
Python 全面入门:从核心语法到工程实践
开发语言·python
Niuguangshuo2 小时前
DeepFilterNet 3:端侧实时全带降噪的开源标杆
python
第一程序员2 小时前
AI 辅助编程的 7 个误区:把模型当高级搜索引擎是对它的最大浪费
python·rust·github
Groundwork Explorer4 小时前
W5500 网卡编程初始化与使用指南
python·单片机
逸Y 仙X4 小时前
MCP(模型控制协议)完全指南:从核心概念到实战开发
python·大模型·llm·ai编程·mcp
WILLF5 小时前
前端视角:Python requests vs JS axios
前端·python
哒哒哒5285205 小时前
69. Python: 核心语法-面向对象基础-案例(教务系统)
python
何以解忧,唯有..5 小时前
Python 中获取目录操作完全指南
windows·python·microsoft
南京云森杉木桩5 小时前
常见打桩木品牌推荐,选对材质让工程更稳固
人工智能·python·材质