1、定义中间件

func middle(c *gin.Context) {
    fmt.Println("我是中间件")
    c.Next()
}

2、对要拦截的路由进行分组并引入中间件

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
    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之类的就这样起飞吧

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄