路由

首先获取一个 gin.Default()对象,其中封装了实现若干请求类型的方法。

函数

请求类型函数
GETfunc (group *RouterGroup) GET(relativePath string, handlers …HandlerFunc) IRoutes
POSTfunc (group *RouterGroup) POST(relativePath string, handlers …HandlerFunc) IRoutes
PUTfunc (group *RouterGroup) PUT(relativePath string, handlers …HandlerFunc) IRoutes
PATCHfunc (group *RouterGroup) PATCH(relativePath string, handlers …HandlerFunc) IRoutes
DELETEfunc (group *RouterGroup) DELETE(relativePath string, handlers …HandlerFunc) IRoutes
OPTIONSfunc (group *RouterGroup) OPTIONS(relativePath string, handlers …HandlerFunc) IRoutes

使用示例

r := gin.Default()
 
...
 
r.GET("/", index.Index)
r.GET("/index", index.Index)

路由参数

在路由中使用:arg的形式去匹配路由中的参数。

使用示例

r := gin.Default()
 
...
 
//  能够匹配/index/a或/index/1等路由
r.GET("/index/:id", index.Index)

获取路由参数

获取到的参数为字符串格式。

id := c.Param("id")

路由组

当若干路由有共同的部分时,可以使用路由组。使用路由组能够增强代码可读性,可以同时对多个路由使用中间件。

使用示例

匹配下面的路由:

  • /admin/index
  • /admin/article
  • /admin/class
r := gin.Default()
 
...
 
adminRoute := r.Group("/admin")
{
	adminRoute.GET("/index", admin.Index)
	adminRoute.GET("/article", admin.Article)
	adminRoute.GET("/class", admin.CLass)
}