package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
// 自定义中间件
func MyMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
fmt.Println("中间件开始执行")
// 在这里可以进行一些预处理操作
// 调用下一个中间件或控制器
c.Next()
// 在这里可以进行一些后处理操作
fmt.Println("中间件执行结束")
}
}
// 自定义控制器
func CustomController(c *gin.Context) {
name := c.Query("name")
c.String(http.StatusOK, "Hello %s", name)
}
func main() {
router := gin.Default() // 创建一个带有默认中间件的路由引擎
// 使用自定义中间件
router.Use(MyMiddleware())
// 创建一个基本路由
router.GET("/hello", CustomController)
// 启动服务器
router.Run(":8080")
}
这段代码定义了一个自定义的中间件MyMiddleware
和一个自定义的控制器CustomController
。在main
函数中,我们创建了一个带有默认中间件的Gin路由引擎,并使用Use
方法加入了自定义的中间件。然后,我们定义了一个基本的GET路由,并将自定义控制器绑定到该路由上。最后,我们启动服务器,监听8080端口的请求。