路由中间件可以方便的实现权限检查、行为追踪等功能。通过 r.use() 函数可以方便地实现路由中间件。
如 在路由分组中实现中间件 :
package router
import (
"fmt"
"github.com/gin-gonic/gin"
)
// 定义中间件函数
func frontMiddleWare(ctx *gin.Context) {
println("我是前台路由中间件")
fmt.Printf("请求路径: %v\n", ctx.Request.URL)
}
// 网站前台分组
func Front(r *gin.Engine) {
frontGroup := r.Group("/")
frontGroup.Use(frontMiddleWare)
frontGroup.GET("/", func(ctx *gin.Context) {
ctx.Writer.Write([]byte("首页"))
})
}
以上代码演示了路由中间件的应用,您也可以将中间件抽离为独立的 go 文件,然后在其函数内实现中间件细节功能。