package mainimport ("fmt""time""github.com/gin-gonic/gin")// 定义中间func MiddleWare() gin.HandlerFunc {return func(c *gin.Context) {t := time.Now()fmt.Println("中间件开始执行了")// 设置变量到Context的key中,可以通过Get()取c.Set("request", "中间件")// 执行函数c.Next()// 中间件执行完后续的一些事情status := c.Writer.Status()fmt.Println("中间件执行完毕", status)t2 := time.Since(t)fmt.Println("time:", t2)}}func main() {// 1.创建路由// 默认使用了2个中间件Logger(), Recovery()r := gin.Default()//局部中间键使用r.GET("/ce", MiddleWare(), func(c *gin.Context) {// 取值req, _ := c.Get("request")fmt.Println("request:", req)// 页面接收c.JSON(200, gin.H{"request": req})})r.Run()}
效果演示:

