碰到个灵异事件,我用golang的http库发送post请求,请求参数为json格式字符串,代码如下:
...
jsonParams := `{"name":"kazaff"}`
req, err := http.NewRequest("POST", url, strings.NewReader(jsonParams))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json;charset=UTF-8")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
...
服务端同样使用golang来实现,解析客户端发送的请求后,一直报错,我打印出来log.Println(r.Body)
后,发现是{}
。。。
而我用postman提交相同的json数据给服务端,就可以获取正确的数据。蒙了,有哪位高手能指点一下小弟啊。
============
我补上服务端的代码:
...
router.HandleFunc("/",func(rep http.ResponseWriter, r *http.Request){
log.Println(r.Body)
defer r.Body.Close()
})
...
客户端:
建议使用
bytes
,另外strings
也是可以的,我在服务端验证了一下范例的代码,OK建议你把服务端的代码补充一下,方便做整体的判断
我在
gin
中用于测试的服务端部分代码: