我已经设法使用本地上下文通过自定义中间件设置数据库查询结果。我正在尝试了解如何对用户进行身份验证,然后从数据库中提取其详细信息并将其注入上下文中。这项工作已经完成。路由上最终方法的本地数据实际上是一个接口,我想从我从之前的身份验证中间件设置的数据中提取字段。我如何将这种接口类型处理成某种形式,如结构或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)
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消