第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

GO Gin 如果我的代碼的任何部分返回 false,則繼續(xù)返回空狀態(tài)

GO Gin 如果我的代碼的任何部分返回 false,則繼續(xù)返回空狀態(tài)

Go
開心每一天1111 2022-11-23 13:58:59
我對 Golang 和 Gin(框架)比較陌生我正在編寫一些非常簡單的 API 端點。但是我注意到 Gin 確實有些奇怪,如果我的代碼中有任何代碼或函數(shù)返回 false,我的其余代碼或條件就不會執(zhí)行,Gin 只會返回一個狀態(tài)為空的 JSON:{“地位”:””}這是一個非常簡單的代碼來解釋我的意思在 functions.go 文件中,我有:func VerifyUserLogin(username,password,userAgent string) (string, string) {    userData := Users{}    userQueryColumn := "username=?"    // if they are trying to login with email    if nEmailHelpers.EmailIsValid(username) == true{        userQueryColumn = "email=?"    }    if getUserData := db.Select("password").Where(userQueryColumn, strings.ToLower(username)).First(&userData); getUserData.Error != nil {        //  Meaning there was an error, most likely no data found , so we just return false todo improve this error handling later to handle more specific errors        return "", feedback["InvalidLogin"]    } else {        if getUserData.RowsAffected == 1 {            if nSecurityHelpers.CheckPasswordHash(password, userData.Password)==true {                token, tokenError := CreateToken(username, userAgent, false, 60)                if tokenError == nil {                    return token, feedback["ValidLogin"]                } else {                    return "", feedback["TokenNotGenerated"]                }            } else {                return "", feedback["InvalidLogin"]            }        }        return "", feedback["InvalidLogin"]    }}在另一個引用 functions.go 文件的 go 文件中:func main(){    router := gin.Default()    router.POST ("login",loginUser)    router.Run()}如果我所有的輸入都是正確的,一切順利(用戶名存在且密碼正確)。但我必須處理用戶名或密碼無效的情況。如果出于任何原因 getUserData 或 nSecurityHelpers.CheckPasswordHash() 是 false ,或者與此相關(guān)的任何函數(shù)返回布爾值 false 。整個函數(shù)只是終止并且不允許我按照我想要的方式處理錯誤并輸出自定義 JSON 響應(yīng)。我剛得到這個 {"status":""}我 100% 確定這個問題來自 Gin ,但我不知道要激活或停用什么才能讓我自己處理錯誤。我已經(jīng)閱讀了文檔,但很明顯我遺漏了一些東西。
查看完整描述

1 回答

?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

我已經(jīng)解決了這個問題,感謝所有試圖提供幫助的人這是一個拼寫錯誤,導致另一個文件中的問題是“InValidLogin”而不是“InvalidLogin”。真的很微妙



查看完整回答
反對 回復(fù) 2022-11-23
  • 1 回答
  • 0 關(guān)注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號