go-web 專案筆記(1) 專案分層設計
阿新 • • 發佈:2021-11-04
go-web 採用gin 框架
1.專案分層資訊
使用go-web gin,優化gin的啟動方式,核心解決三個點。
-
路由分組
解決方法: //目錄下做分組資訊管理 註冊相關路由 router/user.go func InitUserRouter(Router *gin.RouterGroup) { UserRouter := Router.Group("user") { UserRouter.GET("list", api.GetUserList) } } 作用:引數接收一個 gin.RouterGroup , 可以根據不同服務 或 同一服務 分不同的組 和 url
-
返回方法封裝
// 每個路由都對應一個返回func api/user.go func GetUserList(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"code":1}) } 作用:就是將不同的func 封裝在同一目錄結構下,返回時直接呼叫即可
-
使用router初始化操作,避免main方法臃腫
// initialize/router.go // Routers 方法返回一個 *gin.Engine 引擎,參考 r := gin.Default() 返回引數也是 *gin.router func Routers() *gin.Engine { Router := gin.Default() apiRouter := Router.Group("/v1") // 呼叫router下 User路由分組方法, 傳遞一個全域性路由 router.InitUserRouter(apiRouter) return Router }
-
main.py
func main() { router := initialize.Routers() if err := router.Run(":8081"); err != nil { panic("啟動服務失敗") } }
本文來自部落格園,作者:CV-coding,轉載請註明原文連結:https://www.cnblogs.com/CV-coding/p/15509359.html