1、定义中间件
func middle(c *gin.Context) { fmt.Println("我是中间件") c.Next() }
2、对要拦截的路由进行分组并引入中间件
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
api := r.Group("/api")
{
api.Use(middle)
api.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "api pong",
})
})
}
3、测试
分别查看http://127.0.0.1:8088/api/ping和http://127.0.0.1:8088/ping,可以看出一个会输出“我是中间件”,一个不会输出
4、结论
什么权限、登陆、token之类的就这样起飞吧