gpt4 book ai didi

rest - 如何将 UINT(不是 uint64 或 uint32)与字符串进行比较

转载 作者:行者123 更新时间:2023-12-01 22:45:39 24 4
gpt4 key购买 nike

关闭。这个问题需要debugging details .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




我编写了以下代码,并想检查 REST API 中键入的 URL 是否与 header 中的 user_id 相同以授予访问权限或返回失败消息,但出现以下错误:

“无效操作:userId != vars[“user_id”](不匹配的类型 uint 和字符串)”

func UserIdAutentication(w http.ResponseWriter,r *http.Request) {

id := r.Context().Value("user").(uint)

vars:=mux.Vars(r)

if userId != vars["user_id"] {
response := u.Message(false, "User not Autorized to fetch other users data")
w.WriteHeader(http.StatusForbidden)
w.Header().Add("Content-Type", "application/json")
u.Respond(w, response)
return
} else {
return
}

}

最佳答案

您应该转换 user_iduint在与另一个单位比较之前。

id := r.Context().Value("user").(uint)
vars:=mux.Vars(r)

userID, err := strconv.ParseUint(vars["user_id"], 0, 64)

if err != nil {
// Do something with eror
}

if userId!=uint(userID){
response := u.Message(false, "User not Autorized to fetch other users data")
w.WriteHeader(http.StatusForbidden)
w.Header().Add("Content-Type", "application/json")
u.Respond(w, response)
return
}else {
return
}

关于rest - 如何将 UINT(不是 uint64 或 uint32)与字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60364717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com