为了账号安全,请及时绑定邮箱和手机立即绑定

如何从哥菲伯的本地上下文中提取值

如何从哥菲伯的本地上下文中提取值

Go
慕标琳琳 2022-10-04 20:02:17
我已经设法使用本地上下文通过自定义中间件设置数据库查询结果。我正在尝试了解如何对用户进行身份验证,然后从数据库中提取其详细信息并将其注入上下文中。这项工作已经完成。路由上最终方法的本地数据实际上是一个接口,我想从我从之前的身份验证中间件设置的数据中提取字段。我如何将这种接口类型处理成某种形式,如结构或json,以便我可以获取用于执行某些逻辑的字段和值?user := c.Locals("user") fmt.Println("checking for locals",user)从上面的用户是结构用户 {Name string `json:"name"`Emain string `json:"email"`ID string `json:"id"`Password string `json:"password"`}我如何获得姓名和电子邮件?
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

因此,在深入研究了光纤文档并阅读了有关接口,尤其是空接口的内容之后,我认为我有一个解决方案,但需要纠正


我看到一个人可以将一个接口投射到一个具体的类型。在我的情况下,我会采取的类型c.Locals("user")var user interface{}


然后将其转换为将指针传递给用户模型的结构,如下所示


user := c.Locals("user") 

 details, ok :=user.(*models.User)

 fmt.Println("checking for locals -----------",details.Name)


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号