路由
首先获取一个 gin.Default()对象,其中封装了实现若干请求类型的方法。
函数
| 请求类型 | 函数 |
|---|---|
| GET | func (group *RouterGroup) GET(relativePath string, handlers …HandlerFunc) IRoutes |
| POST | func (group *RouterGroup) POST(relativePath string, handlers …HandlerFunc) IRoutes |
| PUT | func (group *RouterGroup) PUT(relativePath string, handlers …HandlerFunc) IRoutes |
| PATCH | func (group *RouterGroup) PATCH(relativePath string, handlers …HandlerFunc) IRoutes |
| DELETE | func (group *RouterGroup) DELETE(relativePath string, handlers …HandlerFunc) IRoutes |
| OPTIONS | func (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)
}