https://www.flysnow.org/2020/06/28/golang-gin-middleware.html
gin里的中间件类似于Java里的拦截器(过滤器)可以对请求进行一些提前或者滞后的处理
这种通用业务独立开发并灵活配置使用的组件,一般称之为”中间件”,因为其位于服务器和实际业务处理程序之间。其含义就是相当于在请求和具体的业务逻辑处理之间增加某些操作,这种以额外添加的方式不会影响编码效率,也不会侵入到框架中。
中间件(middleware),其原理就是对一个方法进行包裹装饰,然后返回同类型的方法,在Python中又名装饰器,甚至成为了Python的语法糖。
应用场景大多是需要对某一类函数进行通用的前置或者后置处理。
查看handle源码,添加的中间件最终是与处理逻辑handler一起组装成了HandlersChain,毕竟他们本质上一样的,都是HandlerFunc,只不过业务逻辑是最后一个执行的handlerFunc。
func(c *gin.Context)这部分其实就是一个HandlerFunc。
可以传多个 gin.HandlerFunc 对象
原文链接: https://dashen.tech/2010/03/23/gin中间件的编写和使用/
版权声明: 转载请注明出处.