http 发送post 请求, 发送数据格式用application/json,
发送参数必须写到buffer 缓冲器里,返回数据也从从缓冲区拿数据
url := "http://127.0.0.1:8084/api/silent/giftCodeAdd"
body := map[string]interface{}{"activity_id":params.ActivityId, "count":params.Count}
byteData, err := json.Marshal(body)
if err != nil {
ret := map[string]string{"code": "-2", "msg": "服务器错误"}
appG.Response(e.INVALID_PARAMS, ret)
return
}
reader := bytes.NewBuffer(byteData)
response,err := http.Post(url, "application/json; charset=utf-8", reader)
defer response.Body.Close()
logging.Info("byteData:", byteData)
logging.Info("send to url:", url, "body:", body, "response:", response, "err:", err)
if err != nil{
ret := map[string]string{"code": "-2", "msg": "服务器错误"}
appG.Response(e.INVALID_PARAMS, ret)
return
}
if response.StatusCode == http.StatusOK {
appG.Response(e.SUCCESS,"success")
return
}
resbody := response.Body
logging.Info("response body is", resbody)
content, err := ioutil.ReadAll(resbody)
if err != nil {
ret := map[string]string{"code": "-2", "msg": "服务器错误"}
appG.Response(e.INVALID_PARAMS, ret)
return
}
var m map[string]interface{}
err = json.Unmarshal(content, &m)
if err != nil {
ret := map[string]string{"code": "-2", "msg": "服务器错误"}
appG.Response(e.INVALID_PARAMS, ret)
return
}
logging.Info("m:", m)
appG.Response(e.INVALID_PARAMS, m)
网友评论