Gin框架入门—中间件
在Gin框架中,中间件是一种强大的机制,可以拦截和修改HTTP请求和响应。中间件函数可以被链式地用于处理一个请求。每一个中间件都可以在其内部做一些处理,并决定是否继续传递到下一个中间件或直接返回响应。
以下是一个简单的中间件示例:
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
// 定义一个简单的中间件
func SimpleMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
fmt.Println("Before request")
// 在这里你可以做一些预处理,比如验证或日志记录
// 继续处理下一个中间件或路由
c.Next()
// 在这里你可以处理响应之后的事情
fmt.Println("After request")
}
}
func main() {
r := gin.Default()
// 使用中间件
r.Use(SimpleMiddleware())
// 一个测试的API路由
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello, World!")
})
// 启动服务器
r.Run()
}
在这个例子中,我们定义了一个名为SimpleMiddleware
的中间件,它会在请求处理前后打印出一些信息。然后我们通过r.Use(SimpleMiddleware())
将其应用到了Gin的路由器上。当我们访问根路径/
时,会看到中间件在请求前后的打印信息。
评论已关闭