Gin 的 router 管理
这里所说的路由就是就是 http 请求的 method、path 与处理函数的对应关系。
Gin 的路由设置方法非常简单,处理函数定义如下(只有一个传入参数):
type HandlerFunc func(*Context)
下面的 echo 就是一个处理函数,它用 c.JSON() 向请求端发送了响应数据。
func echo(c *gin.Context) {
c.JSON(200, gin.H{
"method": c.Request.Method,
"uri": c.Request.URL.String(),
})
}
按照 method 设置
router := gin.Default()
router.GET("/get", echo)
router.POST("/post", echo)
router.PUT("/put", echo)
router.DELETE("/delete", echo)
router.PATCH("/patch", echo)
router.HEAD("/head", echo)
router.OPTIONS("/option", echo)
router 分组
上面平铺的设置方法有时候不能满足我们的需要,譬如当 API 有版本的时候, 我们希望能够分组处理:
groupv1 := router.Group("/v1")
{
groupv1.GET("/hello", echo)
}
groupv2 := router.Group("/v1")
{
groupv2.GET("/hello", echo)
}