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

相关推荐
笨笨聊运维16 小时前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
Gerardisite16 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
小毛驴85016 小时前
软件设计模式-装饰器模式
python·设计模式·装饰器模式
闲人编程17 小时前
Python的导入系统:模块查找、加载和缓存机制
java·python·缓存·加载器·codecapsule·查找器
weixin_4577600017 小时前
Python 数据结构
数据结构·windows·python
合作小小程序员小小店18 小时前
web网页,在线%抖音,舆情,线性回归%分析系统demo,基于python+web+echart+nlp+线性回归,训练,数据库mysql
python·自然语言处理·回归·nlp·线性回归
q***25118 小时前
Python中的简单爬虫
爬虫·python·信息可视化
最晚的py18 小时前
Python Matplotlib
python·数据分析
柳鲲鹏18 小时前
OpenCV:文件视频防抖,python版
python·opencv·音视频