猿问

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

我已经设法使用本地上下文通过自定义中间件设置数据库查询结果。我正在尝试了解如何对用户进行身份验证,然后从数据库中提取其详细信息并将其注入上下文中。这项工作已经完成。


路由上最终方法的本地数据实际上是一个接口,我想从我从之前的身份验证中间件设置的数据中提取字段。我如何将这种接口类型处理成某种形式,如结构或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"`

}

我如何获得姓名和电子邮件?


慕标琳琳
浏览 97回答 1
1回答

明月笑刀无情

因此,在深入研究了光纤文档并阅读了有关接口,尤其是空接口的内容之后,我认为我有一个解决方案,但需要纠正我看到一个人可以将一个接口投射到一个具体的类型。在我的情况下,我会采取的类型c.Locals("user")var user interface{}然后将其转换为将指针传递给用户模型的结构,如下所示user := c.Locals("user")  details, ok :=user.(*models.User) fmt.Println("checking for locals -----------",details.Name)
随时随地看视频慕课网APP

相关分类

Go
我要回答