我有 API 网关和用户服务微服务。当请求到达 API 网关时,我需要在Rediret()它之前添加一些值给用户服务。
func main(){
http.HandleFunc("/login", userLogin)
}
func userLogin(res http.ResponseWriter, req *http.Request) {
uuid := generateUUID()
// How to add UID to request?
http.Redirect(res, req, userservice, http.StatusSeeOther)
}
为此,我使用了此处描述的方法。
form,_ := url.ParseQuery(req.URL.RawQuery)
form.Add("uid", "far")
req.URL.RawQuery = form.Encode()
这只是在用户服务的登录路径处停止。
我也尝试使用:req.Form.Set("uid","foo")
这让人感到恐慌。
http:恐慌服务 127.0.0.1:55076:分配给 nil 地图中的条目
我的用户服务:
func main(){
http.HandleFunc("/login", UserLogin)
}
func UserLogin(res http.ResponseWriter, req *http.Request) {
req.ParseForm()
requestID := req.FormValue("uid")
userID := req.FormValue("userid")
if userID =="sachith"{
sendRequest(requestID)
http.Redirect(res, req, "http://localhost:7070/home", http.StatusSeeOther)
}
有没有办法为我们收到的路由请求添加值并将其重定向到另一个服务?
守着星空守着你
相关分类