【Golang】Gin框架中间件学习笔记
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
// 自定义日志中间件
func Logger() gin.HandlerFunc {
return func(c *gin.Context) {
// 在处理请求前做的事情,比如记录请求开始时间
fmt.Printf("请求URL: %s\n", c.Request.URL)
// 继续处理请求
c.Next() // 调用下一个中间件或路由处理器
// 在处理请求后做的事情,比如记录响应的状态码和结束时间
fmt.Printf("状态码: %d\n", c.Writer.Status())
}
}
func main() {
// 创建一个Gin引擎
r := gin.New()
// 使用中间件
r.Use(Logger())
// 一个简单的GET处理器
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello, World!")
})
// 启动服务器
r.Run(":8080")
}
这段代码演示了如何在Gin框架中创建一个简单的日志中间件,并在HTTP服务器中使用它。在请求被处理前和处理后,中间件会打印出请求的URL和响应的状态码。这有助于开发者理解中间件的工作原理,并在实际项目中进行应用。
评论已关闭