基本定义3种中间件的方式
使用 @app.middleware
开头来定义
from sanic import Sanic
from sanic import responts
app = Sanic('App_name')
@app.middleware
async def test():
print('进来了')
return responts.json({'code': 200, 'msg': 'ok'})
@app.middleware('requets')
async def test():
print('进来了')
return responts.json({'code': 200, 'msg': 'ok'})
@app.middleware('response')
async def test():
print('进来了')
return responts.json({'code': 200, 'msg': 'ok'})
基于蓝图 定义中间件
使用 蓝图赋值的变量 soft 进行 @soft.middleware('requets')
或 @soft.middleware
定义中间件
from sanic import response, Blueprint
from demo_02.controller.soft import soft_index, soft_up
soft = Blueprint('routes_soft', url_prefix='/soft')
soft.add_route(soft_index, '/')
soft.add_route(soft_up, '/up')
# 方式1
@soft.middleware('request')
async def soft_middleware(request):
print("soft中间件:", request)
# 方式2
@soft.middleware
async def soft_middleware(request):
print("soft中间件:", request)