登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-03 14:36:33 317浏览 收藏

一分耕耘,一分收获!既然都打开这篇《使用 POSTMAN 在 FormValue Golang 中访问 POST 请求值》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我不知道为什么在 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请求中表单数据的屏幕截图

但是还是没有成功。

有人有解决办法吗?

谢谢


解决方案


你拥有的不是 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")

}

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

如果您在向服务器发送请求时遇到任何问题,请检查 postman 标头部分中的 content-type。

  • content-type 设置为 application/json 以在请求中发送原始 json。
  • 如果您要在请求中发送表单值,请将 content-type 设置为 application/x-www-form-urlencoded。还要在邮递员的正文部分选择 x-www-form-urlencoded

终于介绍完啦!小伙伴们,这篇关于《使用 POSTMAN 在 FormValue Golang 中访问 POST 请求值》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>