如何在GoLang中解析url中的多个参数?
how to parse multiple parameters in url in GoLang?
我是围棋新手。因此,请提供您的答案示例。我正在使用 julienschmidt/httprouter。我可以用这个解析一个参数,但我如何使用这个或任何其他库解析多个参数?我想要实现的输出是从这个 url:-> http://localhost:8080/login?id=dgff@vcv.com&pwd=dccccf
得到 dgff@vcv.com
& dccccf
我的代码位于:- https://github.com/mohit810/prog-1
我在 main.go 中尝试了 r.GET("/login",uc.LoginUser)
并且
在 controllers/user.go 我添加了
func (uc UserController) LoginUser(w http.ResponseWriter, request *http.Request, params httprouter.Params) {
emailId := params.ByName("id")
pwd := params.ByName("pwd")
u := models.User{}
if err := uc.session.DB("go-web-dev-db").C("users").FindId(emailId + pwd).One(&u); err != nil {
w.WriteHeader(404)
return
}
uj, err := json.Marshal(u)
if err != nil {
fmt.Println(err)
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK) // 200
fmt.Fprintf(w, "%s\n", uj)
}
在main.go
中添加以下内容
r.GET("/login",uc.LoginUser)
并在controllers/user.go
中添加以下内容
func (uc UserController) LoginUser(w http.ResponseWriter, request *http.Request, params httprouter.Params) {
emailId := request.URL.Query().Get("id")
pwd := request.URL.Query().Get("pwd")
u := models.User{}
if err := uc.session.DB("go-web-dev-db").C("users").FindId(emailId + pwd).One(&u); err != nil {
w.WriteHeader(404)
return
}
uj, err := json.Marshal(u)
if err != nil {
fmt.Println(err)
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK) // 200
fmt.Fprintf(w, "%s\n", uj)
}
我是围棋新手。因此,请提供您的答案示例。我正在使用 julienschmidt/httprouter。我可以用这个解析一个参数,但我如何使用这个或任何其他库解析多个参数?我想要实现的输出是从这个 url:-> http://localhost:8080/login?id=dgff@vcv.com&pwd=dccccf
dgff@vcv.com
& dccccf
我的代码位于:- https://github.com/mohit810/prog-1
我在 main.go 中尝试了 r.GET("/login",uc.LoginUser)
并且
在 controllers/user.go 我添加了
func (uc UserController) LoginUser(w http.ResponseWriter, request *http.Request, params httprouter.Params) {
emailId := params.ByName("id")
pwd := params.ByName("pwd")
u := models.User{}
if err := uc.session.DB("go-web-dev-db").C("users").FindId(emailId + pwd).One(&u); err != nil {
w.WriteHeader(404)
return
}
uj, err := json.Marshal(u)
if err != nil {
fmt.Println(err)
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK) // 200
fmt.Fprintf(w, "%s\n", uj)
}
在main.go
中添加以下内容r.GET("/login",uc.LoginUser)
并在controllers/user.go
中添加以下内容func (uc UserController) LoginUser(w http.ResponseWriter, request *http.Request, params httprouter.Params) {
emailId := request.URL.Query().Get("id")
pwd := request.URL.Query().Get("pwd")
u := models.User{}
if err := uc.session.DB("go-web-dev-db").C("users").FindId(emailId + pwd).One(&u); err != nil {
w.WriteHeader(404)
return
}
uj, err := json.Marshal(u)
if err != nil {
fmt.Println(err)
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK) // 200
fmt.Fprintf(w, "%s\n", uj)
}