gin 路由分组与中间件

GoLang gin gorm 学习笔记

路由分组与中间件

路由分组

r := gin.Default()
v1 := r.Group("/v1")
test := v1.Group("/test")
test.GET("/upload", func(c *gin.Context){
    c.String(http.StatusOK, "upload success")
})
v1.GET("test",func(c *gin.Context){
    c.JSON(http.StatusOK,gin.H{
        "message":"我在分组方法内部",
    })
})
r.Run(":8888")

中间件的使用

func middle() gin.HandlerFunc{
    return func(c *gin.Context){
       fmt.Println("我在中间件内部")
         c.Next()
        fmt.Println("中间件最后")
    }
}

func middleTwo() gin.HandlerFunc{
    return func(c *gin.Context){
       fmt.Println("我在第二个中间件内部")
         c.Next()
        fmt.Println("中间件最后")
    }
}

func main() {
    r := gin.Default()
    v1 := r.Group("/v1")
    test := v1.Group("/test").Use(middle(),middleTwo())
    test.GET("/upload", func(c *gin.Context){
        c.String(http.StatusOK, "upload success")
    })
    r.Run(":8888")
}