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之类的就这样起飞吧
本文详细介绍了如何在Gin框架中定义和使用中间件,包括对特定路由进行拦截及权限控制的方法。通过实例演示了中间件在处理HTTP请求前后的自定义逻辑,如打印信息、检查权限和token验证。
489

被折叠的 条评论
为什么被折叠?



