Go項目實戰-API路由的分模塊管理
隨著項目開發的迭代,我們寫的接口往往會越來越多,如果都把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的路由寫到一個文件里,那么整個路由文件就會變得像上面那個例子一樣,變得又亂又長。