AI通识课
HonoJS里的Middleware是什么?
middleware的概念其实很简单,也就是拦截器或者AOP里经常讲的横切关注点,总之就是处理一些通用的非业务逻辑。
middleware的定义也很简单,就是一个异步函数,接受context和next(handler)作为参数,在函数实现中提供额外逻辑的同时,在合适时机/位置调用next(handler)就可以了:
要使用middleware,可有两种方式,一种是全局定义, 比如:
一种是针对单一路由定义使用,比如:
而且可以提供多个middlewares:
基本上就是一个FilterChain的设计思路。
当然,可以直接以inline的形式同时定义middleware和handler:
middleware和handler从函数定义上来看有两个关键差别:
- 参数: middleware接收context和next handler两个参数,handler只接收context一个参数。
- 处理逻辑: middleware必须调用下一个处理器(next handler), handler必须返回响应内容(Response), c.json和c.text等都是helper。
「架构师的修炼」大礼包
管理者入门与进阶课程