gin系列- 路由及路由组
程序员文章站
2022-03-25 17:01:20
路由及路由组 没有路由 路由组 ......
路由及路由组
package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { r := gin.default() //访问/index的get请求会走这一条处理逻辑 //获取信息 r.get("/index", func(c *gin.context) { c.json(http.statusok, gin.h{ "method": "get", }) }) //创建某个信息 r.post("/index", func(c *gin.context) { c.json(http.statusok, gin.h{ "method": "post", }) }) //更新某个信息 r.put("/index", func(c *gin.context) { c.json(http.statusok, gin.h{ "method": "put", }) }) //删除某个信息 r.delete("/index", func(c *gin.context) { c.json(http.statusok, gin.h{ "method": "delete", }) }) //处理所有的请求方法 r.any("/user", func(c *gin.context) { switch c.request.method{ case "get" : c.json(http.statusok, gin.h{"method": "get"}) case http.methodpost: c.json(http.statusok, gin.h{"method":"post"}) //...... } c.json(http.statusok, gin.h{ "method": "any", }) }) //没有路由的页面 //为没有配置处理函数的路由添加处理程序,默认情况下它返回404代码 r.noroute(func(c *gin.context) { c.json(http.statusnotfound, gin.h{ "msg" : "zisefeizhu", }) }) //路由组 多用于区分不同的业务线或app版本 //将拥有共同url前缀的路由划分为一个路由组。习惯性一对{}包裹同组的路由,这只是为了看着清晰,你用不用{}包裹功能上没什么区别 //视频的首页和详细页 //r.get("/video/index", func(c *gin.context) { // c.json(http.statusok, gin.h{"msg":"/video/index"}) //}) //商城的首页和详细页 r.get("/shop/index", func(c *gin.context) { c.json(http.statusok, gin.h{"msg":"/shop/index"}) }) //路由组 //把公用的前缀提取出来,创建一个路由组 videogroup := r.group("/video") { videogroup.get("/index", func(c *gin.context) { c.json(http.statusok, gin.h{"msg":"/video/index"}) }) videogroup.get("/xx", func(c *gin.context) { c.json(http.statusok, gin.h{"msg":"/video/xx"}) }) videogroup.get("/oo", func(c *gin.context) { c.json(http.statusok, gin.h{"msg":"/video/oo"}) }) } r.run(":9090") }
没有路由
路由组