我正在尝试从请求中读取,然后使用该结果向另一个端点发出 POST 请求,然后处理其结果,然后以 JSON 形式返回其结果。到目前为止,我有以下代码:// POST func (u *UserResource) authenticate(request *restful.Request, response *restful.Response) { Api := Api{url: "http://api.com/api"} usr := new(User) err := request.ReadEntity(&usr) if err != nil { response.WriteErrorString(http.StatusInternalServerError, err.Error()) return } api_resp, err := http.Post(Api.url, "text/plain", bytes.NewBuffer(usr)) if err != nil { response.WriteErrorString(http.StatusInternalServerError, err.Error()) return } defer api_resp.Body.Close() body, err := ioutil.ReadAll(api_resp.Body) response.WriteHeader(http.StatusCreated) err = xml.Unmarshal(body, usr) if err != nil { fmt.Printf("error: %v", err) return }// result, err := json.Marshal(usr)// response.Write(result) response.WriteEntity(&usr) fmt.Printf("Name: %q\n", usr.UserName)}我正在使用Go Restful包进行写入和读取。编译文件时出现此错误:src\login.go:59: cannot use usr (type *User) as type []byte in argument to bytes.NewBuffer解决此问题的最佳方法是什么,以便我可以正确执行有效负载的 POST?
2 回答
- 2 回答
- 0 关注
- 165 浏览
添加回答
举报
0/150
提交
取消