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之类的就这样起飞吧