1. Gin框架中间件
Gin框架中间件
A. Gin框架允许在请求处理过程中,加入用户自己的钩子函数。这个钩子函数就叫中间件
B. 因此,可以使用中间件处理一些公共业务逻辑,比如耗时统计,日志打印,登陆校验.
2. 编写自己的中间件
package main import ( "log" "time" "net/http" "github.com/gin-gonic/gin" ) func StatCost() gin.HandlerFunc { return func(c *gin.Context) { t := time.Now() //可以设置一些公共参数 c.Set("example", "12345") //等其他中间件先执行 c.Next() //获取耗时 latency := time.Since(t) log.Print(latency) } } func main() { r := gin.New() r.Use(StatCost()) r.GET("/test", func(c *gin.Context) { example := c.MustGet("example").(string) // it would print: "12345" log.Println(example) c.JSON(http.StatusOK, gin.H{ "message": "success", }) }) // Listen and serve on 0.0.0.0:8080 r.Run(":8080") }