一、普通路由

  1. r.GET("/index", func(c *gin.Context) {...})
  2. r.GET("/login", func(c *gin.Context) {...})
  3. r.POST("/login", func(c *gin.Context) {...})

此外,还可以使用 Any 来匹配所有的请求方法

  1. r.Any("/test", func(c *gin.Context) {...})


二、路由组

我们可以将拥有共同URL前缀(比如 /user )的路由划分为一个路由组。习惯性一对{}包裹同组的路由,这只是为了看着清晰,你用不用{}包裹功能上没什么区别。

  1. func main() {
  2. r := gin.Default()
  3. userGroup := r.Group("/user")
  4. {
  5. userGroup.GET("/index", func(c *gin.Context) {...}) //对应的路径为/user/index
  6. userGroup.GET("/login", func(c *gin.Context) {...}) //对应的路径为/user/login
  7. userGroup.POST("/login", func(c *gin.Context) {...})
  8. }
  9. shopGroup := r.Group("/shop")
  10. {
  11. shopGroup.GET("/index", func(c *gin.Context) {...})
  12. shopGroup.GET("/cart", func(c *gin.Context) {...})
  13. shopGroup.POST("/checkout", func(c *gin.Context) {...})
  14. }
  15. r.Run()
  16. }