为了账号安全,请及时绑定邮箱和手机立即绑定

JSON 解码器不适用于 http 请求正文

JSON 解码器不适用于 http 请求正文

Go
开满天机 2021-09-13 19:56:26
我开始疯狂地试图让 Go 解码这个 json 请求正文。这是一个示例请求:curl -X POST -d "{\"username\":\"foo\", \"password\":\"bar\"}" http://localhost:3000/users这是我的处理程序:mux.HandleFunc("/users", func(rw http.ResponseWriter, req *http.Request) {        var body struct {            username string            password string        }        // buf := make([]byte, req.ContentLength)        // req.Body.Read(buf)        // fmt.Println(string(buf))        //        // The above commented out code will correctly print:        // {"username":"foo", "password":"bar"}        err := json.NewDecoder(req.Body).Decode(&body)        if err != nil {            rw.WriteHeader(http.StatusNotAcceptable)            return        }        fmt.Printf("%+v\n", body)        // prints -> {username: password:}})就像评论所暗示的那样,我可以验证这req.Body确实是正确的——但无论出于何种原因,json.NewDecoder(req.Body).Decode(&body)永远不会填写body.任何帮助将不胜感激!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信