随着项目开发的迭代,我们写的接口往往会越来越多,如果都把API的路由写到一个文件里,那么整个路由文件就会变得又乱又长,所以我们最好在项目开始阶段就给路由的分模块管理做好规划。
今天这个文章给大家介绍一下Web项目API路由的分模块管理,我们的项目使用的是Gin框架,但基本上所有的Web框架都能按照这个方式来分模块管理API接口的路由。
图片
一些路由管理混乱的例子
首先,我先给大家看一个曾经维护过的项目的路由文件 router.go, 这个项目用的也是Gin框架,整个文件里500多行全是API接口的路由。
你说这么写不好维护吧,全项目的路由都在这里不用其他地方找,按能用就行的标准,确实是能用。
而且Gin的官方文档里在路由这块的例子确实也是这么写的。
// Gin 官方文档示例
func main() {
router := gin.Default()
// 简单的路由组: v1
v1 := router.Group("/v1")
{
v1.POST("/login", loginEndpoint)
v1.POST("/submit", submitEndpoint)
v1.POST("/read", readEndpoint)
}
// 简单的路由组: v2
v2 := router.Group("/v2")
{
v2.POST("/login", loginEndpoint)
v2.POST("/submit", submitEndpoint)
v2.POST("/read", readEndpoint)
}
router.Run(":8080")
}
随着项目开发的迭代,我们写的接口往往会越来越多,如果还按上面这样把API的路由写到一个文件里,那么整个路由文件就会变得像上面那个例子一样,变得又乱又长。