gin框架 路由分组
我们在使用 web 框架开发时,经常会根据业务逻辑给一个模块划分一组路由。
把一个模块相关的方法都写在一个路由下,主要好处是业务逻辑清晰,便于管理和查找相关的代码。
例如:goods 为商品模块,我们规划它的操作路由。
/goods/addGoods 添加商品 /goods/delGoods 删除商品
1. 路由分组语法
gin 框架支持路由分组(routes group),路由分组的关键词为 group。
engine.Group("/groupname")
2. 路由分组的范例
gin 框架支持路由分组(routes group),路由分组的关键词为 group。
package main import ( "fmt" "github.com/gin-gonic/gin" ) func loginEndpoint(c *gin.Context){ fmt.Println("这是login方法") } func submitEndpoint(c *gin.Context){ fmt.Println("这是submit方法") } func readEndpoint(c *gin.Context){ fmt.Println("这是read方法") } func main() { engine := gin.Default() //v1组路由 v1 := engine.Group("/v1") { v1.GET("/login", loginEndpoint) v1.GET("/submit", submitEndpoint) v1.GET("/read", readEndpoint) } //v2组路由 v2: = engine.Group("/v2") { v2.GET("/login", loginEndpoint) v2.GET("/submit", submitEndpoint) v2.GET("/read", readEndpoint) } engine.Run() }
打开浏览器,输入 http://localhost:8080,分别访问:
http://localhost:8080/v1/login http://localhost:8080/v1/submit http://localhost:8080/v1/read http://localhost:8080/v2/login http://localhost:8080/v2/submit http://localhost:8080/v2/read
浏览器会输出对应的 API 内容。
路由拆分与注册:基本的路由注册:下面最基础的 gin 路由注册方式,适用于路由条目比较少的简单项目或者项目 demo。路由拆分成单独文件或包:当项目的规模增大后就不太适合继续在项目的 main.go 文件中去实现路由注册相关逻辑了,我们会倾向于把路由部分的代码都拆分出来,形成一个单独的文件或包。