Go语言中的gin框架【中间件】集合
在Go语言的gin框架中,中间件是一种组织和重用HTTP请求处理逻辑的强大方式。中间件函数可以在HTTP请求被路由处理之前和/或之后进行拦截和修改。
以下是一个使用gin框架中间件的示例代码:
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
// 自定义中间件示例:记录请求的路径和方法
func Logger() gin.HandlerFunc {
return func(c *gin.Context) {
path := c.Request.URL.Path
method := c.Request.Method
// 在请求被处理前记录路径和方法
println("请求路径: " + path + ", 请求方法: " + method)
// 继续链式处理请求
c.Next()
// 在请求被处理后记录响应状态码
println("响应状态码: " + c.Writer.Status())
}
}
func main() {
r := gin.Default()
// 使用自定义中间件
r.Use(Logger())
// 一个简单的GET路由
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello, World!")
})
// 启动服务器
r.Run()
}
在这个示例中,我们定义了一个名为Logger
的中间件函数,它会在请求被处理前后打印出一些信息。然后,我们通过r.Use(Logger())
将其应用到了gin的路由器r
上,这样所有的请求都会先经过这个中间件。
评论已关闭