Gin 中间件

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)
	}
}

上一篇:GitHub标星1w的Java架构师必备技能,Java岗


下一篇:Gin 路由分组(嵌套)