当前位置: > > > > 如何从 go Fiber 中的本地上下文中提取值
来源:stackoverflow
2024-04-23 21:03:42
0浏览
收藏
Golang不知道大家是否熟悉?今天我将给大家介绍《如何从 go Fiber 中的本地上下文中提取值》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!
问题内容
我已成功使用本地上下文通过自定义中间件设置数据库查询结果。我试图了解如何对用户进行身份验证,然后从数据库中提取其详细信息并将其注入上下文中。这已经完成了。
路由上最终方法上的本地数据实际上是一个接口,我想从之前的身份验证中间件设置的数据中提取字段。如何将此接口类型处理为某种形式(如结构或 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"` }
如何获取姓名和电子邮件?
正确答案
因此,在深入研究光纤文档并阅读有关接口(尤其是空接口)之后,我认为我有一个解决方案,但需要纠正
我看到可以将接口转换为具体类型。就我而言,我将采用 var 用户界面类型的
c.locals("user")
{}
然后将其转换为一个结构体,将指针传递给用户模型,如下所示
user := c.Locals("user") details, ok :=user.(*models.User) fmt.Println("checking for locals -----------",details.Name)
到这里,我们也就讲完了《如何从 go Fiber 中的本地上下文中提取值》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注公众号,带你了解更多关于的知识点!