1 回答
TA贡献1799条经验 获得超8个赞
要将查询参数添加到重定向位置,您只需将它们添加到函数的url参数即可Redirect。
此外,您不应修改*http.Request传入的参数Redirect以指定目标位置,这不是它的用途。1st,修改它只会对相对重定向产生影响,这不是你在这里想要做的。2nd,url是为此目的而指定的,并且可以始终用于执行相对和绝对重定向。这里没有与设计相反的优势。
apigateway/main.go
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/login", loginHandler)
http.ListenAndServe(":8080", nil)
}
func loginHandler(w http.ResponseWriter, r *http.Request) {
uuid := "911cf95b-6b3f-43fd-b695-c80c79145c51" // generate uuid
http.Redirect(w, r, "http://localhost:8081/login?user_id="+uuid, http.StatusSeeOther)
}
userservice/main.go
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/login", loginHandler)
http.ListenAndServe(":8081", nil)
}
func loginHandler(w http.ResponseWriter, r *http.Request) {
uuid := r.URL.Query().Get("user_id")
w.Write([]byte(uuid))
}
- 1 回答
- 0 关注
- 278 浏览
添加回答
举报