go-web 项目笔记(1) 项目分层设计
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
浙公网安备 33010602011771号