登录
首页 >  Golang >  Go问答

如何从 go Fiber 中的本地上下文中提取值

来源:stackoverflow

时间:2024-04-23 21:03:42 397浏览 收藏

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 中的本地上下文中提取值》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>