猿问

如何在 GoLang 中解析 url 中的多个参数?

我是围棋新手。因此,请提供一个示例和您的答案。我正在使用 julienschmidt/httprouter。我可以用这个解析一个参数,但是如何使用这个或任何其他库解析多个参数?我想要实现的输出是从这个 url获取dgff@vcv.com& :->dccccfhttp://localhost:8080/login?id=dgff@vcv.com&pwd=dccccf


我的代码在:- https://github.com/mohit810/prog-1


我尝试r.GET("/login",uc.LoginUser)在 main.go 和 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)

}



浮云间
浏览 247回答 1
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 := 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)}
随时随地看视频慕课网APP

相关分类

Go
我要回答