美文网首页
Gin-中间件-使用

Gin-中间件-使用

作者: 诗意_面包 | 来源:发表于2020-07-06 15:42 被阅读0次

全局使用中间件

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()
        // 路由处理前执行
        fmt.Printf("接收到请求:%s\n", path)
        context.Next()
        // 路由处理后执行
        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()
        // 路由处理前执行
        fmt.Printf("接收到请求:%s\n", path)
        context.Next()
        // 路由处理后执行
        fmt.Printf("请求处理完成: %s\n", path)
    }
}

相关文章

网友评论

      本文标题:Gin-中间件-使用

      本文链接:https://www.haomeiwen.com/subject/hezwqktx.html