Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
页面加载耗时 0.00 毫秒·物理内存 138.6MB ·虚拟内存 1372.6MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
我们在使用 web 框架开发时,经常会根据业务逻辑给一个模块划分一组路由。
把一个模块相关的方法都写在一个路由下,主要好处是业务逻辑清晰,便于管理和查找相关的代码。
例如:goods 为商品模块,我们规划它的操作路由。
/goods/addGoods 添加商品 /goods/delGoods 删除商品
gin 框架支持路由分组(routes group),路由分组的关键词为 group。
engine.Group("/groupname")
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 文件中去实现路由注册相关逻辑了,我们会倾向于把路由部分的代码都拆分出来,形成一个单独的文件或包。