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) }

参考

  1. 李佶澳的博客