以下是一个使用 Gin 中间件的示例代码:
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
// 添加中间件
r.Use(MyCustomMiddleware())
r.GET("/", func(c *gin.Context) {
// 你的处理代码
c.JSON(200, gin.H{
"message": "Hello World!",
})
})
r.Run() // 运行服务器
}
// 自定义中间件
func MyCustomMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
// 中间件处理代码
c.Next()
}
}
在上面的示例中,我们创建了一个名为 MyCustomMiddleware
的自定义中间件函数,并将其添加到 Gin 路由器的全局中间件中。
中间件函数接受一个 gin.HandlerFunc
参数,返回一个带有 gin.Context
参数的函数。中间件的处理代码在函数体内,并通过调用 c.Next()
来传递控制权到接下来的处理函数。
在路由 GET /
的处理函数中,我们可以看到返回一个 JSON 响应。
当请求发送到服务器时,MyCustomMiddleware
中间件的处理代码将会先执行,然后再执行处理函数。