gin中自定义中间件

package main

import (
	"github.com/gin-gonic/gin"
	"log"
	"time"
)

func Logger() gin.HandlerFunc {
	return func(context *gin.Context) {
		t := time.Now()
		// 设置变量
		context.Set("example", 123456)

		context.Next()  // 请求前后分割线

		latency := time.Since(t)
		log.Println(latency)  // 请求时间

		status := context.Writer.Status()
		log.Println(status)  // 响应状态码
	}
}

func main() {
	router := gin.New()
	router.Use(Logger())
	router.GET("/", func(context *gin.Context) {
		example := context.MustGet("example").(int)
		log.Println(example)
		context.String(200, "ookk")
	})
	router.Run()
}

  

posted @ 2021-10-28 10:28  专职  阅读(51)  评论(0编辑  收藏  举报