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之類的就這樣起飛吧