go gin框架 如何编写 所有控制器都能获取的公共数据?

image.png
在php中,我可以使用extends关键字,使控制器集成父类控制器,使用父类控制器的成员属性。
我在register使用$this->config获取父类控制器$config
我可以在login中也使用$this->config获取父类控制器$config
在gin中如何实现

阅读 2.2k
1 个回答

公共数据分两种

  • 全局统一共享的变量比如数据库地址、站点名称、服务名称这些,直接全局变量
  • 同一次请求内共享的变量 通过中间件设置 Context

app := gin.New()

app.Use(func(context *gin.Context) {
    context.Set("abc", "val")
})

app.GET("/test", func(context *gin.Context) {
    data, _ := context.Get("abc")
    context.HTML(200, data.(string), nil)
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题