package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
"time"
)
func index(ctx *gin.Context) {
ctx.JSON(http.StatusOK, gin.H{
"status": "in index!",
})
}
func video(ctx *gin.Context) {
ctx.JSON(http.StatusOK, gin.H{
"status": "in video!",
})
}
func t(ctx *gin.Context) {
start := time.Now()
ctx.Next() // 调用后续的处理函数
//ctx.Abort() // 阻止调用后续的数据函数
fmt.Printf("耗时:%v\n", time.Since(start))
}
func main() {
router := gin.Default()
router.GET("/index", t, index) // 没有注册时使用中间件
router.Use(t) // 注册中间件
router.GET("/video", video)
err := router.Run()
if err != nil {
panic(err)
}
}
Gin 中间件