中间件是介于应用系统和系统软件之间的一种软件。它利用系统软件提供的基本服务(功能)来连接网络上应用系统的各个部分或不同的应用,可以达到资源和功能共享的目的。
使用自定义的 Logger() 中间件函数,返回值类型为:gin.HandlerFunc。
新建一个 demo4.go 内容如下:
package main
import (
"github.com/gin-gonic/gin"
"log"
"time"
)
// 自定义的中间件 返回值类型为:gin.HandlerFunc
func Logger() gin.HandlerFunc {
return func(c *gin.Context) {
t := time.Now()
// 设置 example 变量
c.Set("example", "111")
// 请求之前...
c.Next()
// 请求之后...
latency := time.Since(t)
// 打印请求处理时间
log.Print(latency)
// 访问即将发送的响应状态码
status := c.Writer.Status()
log.Println(status)
}
}
func main() {
// gin.Default() 默认启动方式,包含 Logger、Recovery 中间件
r := gin.New(