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

使用 POSTMAN 访问 FormValue Golang 中的 POST 请求值

使用 POSTMAN 访问 FormValue Golang 中的 POST 请求值

Go
慕运维8079593 2023-05-15 14:34:30
我不知道为什么在 POSTMAN 中发送值时总是收到一个空字符串func main(){     rtr := mux.NewRouter()     rtr.HandleFunc("/search", search).Methods("POST")}func search(w http.ResponseWriter, r *http.Request) {     name := r.FormValue("name") //returns empty }这是 POSTMAN 中的正文请求正文请求的屏幕截图{    "name": "markus"   }我试图更改正文请求以形成数据post请求中表单数据的截图但它仍然没有用。有没有人有办法解决吗?谢谢
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

你在那里拥有的不是一个FormValue而是一个JSON身体。如果您的 JSON 对象只是字符串到字符串的简单映射,那么您可以这样做:


func search(w http.ResponseWriter, r *http.Request) {


    body, _ := ioutil.ReadAll(r.Body) // check for errors


    keyVal := make(map[string]string)

    json.Unmarshal(body, &keyVal) // check for errors


    name := keyVal["name"]


    // do whatever with name


}

编辑


如果你需要解析一个表单值,你需要调用ParseForm()


func search(w http.ResponseWriter, r *http.Request) {


    err := r.ParseForm()

    if err != nil {

        // handle err

    }


    name := r.FormValue("name")


}


查看完整回答
反对 回复 2023-05-15
?
千巷猫影

TA贡献1829条经验 获得超7个赞

只想在这里分享更多信息。

如果您在向服务器发送请求时遇到任何问题,请检查 Postman 的 Header 部分中的 Content-Type。

  • 设置Content-Typeapplication/json在请求中发送原始 JSON。

  • 如果您在请求中发送表单值,则设置Content-Type为。还要在邮递员的正文部分中application/x-www-form-urlencoded选择x-www-form-urlencoded


查看完整回答
反对 回复 2023-05-15
  • 2 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

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