+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > 使用 POSTMAN 在 FormValue Golang 中访问 POST 请求值 >

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

时间:2024-04-09 10:01:48

一分耕耘,一分收获!既然都打开这篇《使用 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 请求值》的介绍应该让你收获多多了吧!

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title