代码
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
"time"
)
func MyLogger() gin.HandlerFunc {
return func(c *gin.Context) {
fmt.Println("自定义中间件执行的逻辑")
c.Next()
}
}
func main() {
r := gin.Default()
r.Use(func(c *gin.Context) {
t := time.Now()
c.Next()
end := time.Since(t)
fmt.Printf("耗时:%v\n", end)
status := c.Writer.Status()
fmt.Println("状态:", status)
})
r.GET("/ping", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"data": "pong",
})
})
{
defineGroup := r.Group("/define")
defineGroup.Use(MyLogger())
defineGroup.GET("/haha", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"data": "haha",
})
})
}
_ = r.Run(":8082")
}