gin自定义中间件
在Gin框架中,自定义中间件是一种很常见的功能。中间件可以拦截HTTP请求,并在请求处理之前和之后执行一些特定的操作。
以下是一个简单的Gin自定义中间件的例子:
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
// 自定义中间件
func MyMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
// 在处理请求之前执行的代码
fmt.Println("Before request")
// 继续执行其他的中间件或处理请求
c.Next()
// 在处理请求之后执行的代码
fmt.Println("After request")
}
}
func main() {
r := gin.Default()
// 使用自定义中间件
r.Use(MyMiddleware())
// 一个测试的API路由
r.GET("/test", func(c *gin.Context) {
c.String(http.StatusOK, "Hello from test endpoint!")
})
// 启动服务器
r.Run()
}
在这个例子中,我们定义了一个名为MyMiddleware
的中间件,它打印出了请求的处理前后的消息。然后,我们通过调用r.Use(MyMiddleware())
将其应用到了Gin的路由器上。在中间件内部,我们使用c.Next()
来调用链中的下一个中间件或处理器。
运行这段代码后,访问/test
路径,你会看到在请求处理前后,控制台分别打印了相关的日志信息。
评论已关闭