本文主要是介绍gocore-v2框架-HTTP初始化路由注册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Github
官方文档地址-持续更新中
在HTTP接口开发过程中,考虑实际场景初始化默认开启:
- Gzip压缩:gin-contrib/gzip
- 优雅重启&关闭:fvbock/endless
- 默认开启Recovery、Logger
- 根据utils.IsRelease设置终端输出
- 程序结束Close中间件连接
func RunApi(c *cli.Context) error {defer closes.Close()initConf()initDB()initCache()if utils.IsRelease() {gin.SetMode(gin.ReleaseMode)}r := gin.New()r.Use(gin.Logger())r.Use(gin.Recovery())r.Use(gzip.Gzip(gzip.DefaultCompression))// 注册路由routes.Routes(r)err := endless.ListenAndServe(viper.C.GetString("network.ApiServiceHost")+":"+viper.C.GetString("network.ApiServicePort"), r)if err != nil {return err}return nil
}
默认路由
- /项目名/模块名/接口名
- /app/user/get_user_info
考虑多入口和版本控制推荐使用方式
- /入口名称/版本号/项目名/模块名/接口名
- /applet/v1/app/user/get_user_info
增加根路由监听防止被扫异常以及启动监控检查
func Routes(router *gin.Engine) {// 根目录健康检查router.Any("/", func(c *gin.Context) {c.String(http.StatusOK, "Welcome GoCore Service")})user := router.Group("/app/user")user.Post("/get_user_info", api.GetUserInfo) //获取用户信息}
这篇关于gocore-v2框架-HTTP初始化路由注册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!