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 關注
- 312 瀏覽
添加回答
舉報