Go名目实战
随着名目开发的迭代,咱们写的接口往往会越来越多,假设都把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的路由写到一个文件里,那么整个路由文件就会变得像下面那个例子一样,变得又乱又长。