全局使用中間件
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
app := gin.Default()
app.Use(PrintFullPath())
app.GET("/", func(context *gin.Context) {
fmt.Println("Hello World")
context.Writer.WriteString("Hello World")
})
app.Run()
}
func PrintFullPath() gin.HandlerFunc {
return func(context *gin.Context) {
path := context.FullPath()
// 路由處理前執(zhí)行
fmt.Printf("接收到請求:%s\n", path)
context.Next()
// 路由處理后執(zhí)行
fmt.Printf("請求處理完成: %s\n", path)
}
}
指定路由使用中間件
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
app := gin.Default()
app.GET("/", PrintFullPath(), func(context *gin.Context) {
fmt.Println("Hello World")
context.Writer.WriteString("Hello World")
})
app.Run()
}
func PrintFullPath() gin.HandlerFunc {
return func(context *gin.Context) {
path := context.FullPath()
// 路由處理前執(zhí)行
fmt.Printf("接收到請求:%s\n", path)
context.Next()
// 路由處理后執(zhí)行
fmt.Printf("請求處理完成: %s\n", path)
}
}