我已經(jīng)設(shè)法使用本地上下文通過自定義中間件設(shè)置數(shù)據(jù)庫查詢結(jié)果。我正在嘗試了解如何對用戶進行身份驗證,然后從數(shù)據(jù)庫中提取其詳細信息并將其注入上下文中。這項工作已經(jīng)完成。路由上最終方法的本地數(shù)據(jù)實際上是一個接口,我想從我從之前的身份驗證中間件設(shè)置的數(shù)據(jù)中提取字段。我如何將這種接口類型處理成某種形式,如結(jié)構(gòu)或json,以便我可以獲取用于執(zhí)行某些邏輯的字段和值?user := c.Locals("user") fmt.Println("checking for locals",user)從上面的用戶是結(jié)構(gòu)用戶 {Name string `json:"name"`Emain string `json:"email"`ID string `json:"id"`Password string `json:"password"`}我如何獲得姓名和電子郵件?
1 回答

明月笑刀無情
TA貢獻1828條經(jīng)驗 獲得超4個贊
因此,在深入研究了光纖文檔并閱讀了有關(guān)接口,尤其是空接口的內(nèi)容之后,我認為我有一個解決方案,但需要糾正
我看到一個人可以將一個接口投射到一個具體的類型。在我的情況下,我會采取的類型c.Locals("user")var user interface{}
然后將其轉(zhuǎn)換為將指針傳遞給用戶模型的結(jié)構(gòu),如下所示
user := c.Locals("user")
details, ok :=user.(*models.User)
fmt.Println("checking for locals -----------",details.Name)
- 1 回答
- 0 關(guān)注
- 94 瀏覽
添加回答
舉報
0/150
提交
取消