码迷,mamicode.com
首页 > 其他好文 > 详细

使用RestTemplate在代码内调用POST请求的参数乱码问题

时间:2018-11-15 18:26:04      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:isp   link   传递   ret   spl   template   stp   value   结构体   

背景:在项目A代码内部,调用项目B的restful接口C,我们采用了RestTemplate进行调用,但是调用过程中,一直不能正常返回数据,日志显示参数存在乱码(有个参数的值是中文)

乱码原因:请求方式是POST,但是我们把参数都放在了url的?后面,参数传递形式与GET请求一样!!!

由于请求方式是POST,所以需要将参数放在body里面进行传递,并且参数需要用MultiValueMap结构体装载,如下所示(RestTemplate的调用改为如下就好了):

  if (method == HttpMethod.POST) {
            MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
            map.forEach((k, v) -> {
                postParameters.add(k, v.toString());
            });
            return JSON.parseObject(restTemplate.postForObject(url, postParameters, String.class));
        } 

 

 

使用RestTemplate在代码内调用POST请求的参数乱码问题

标签:isp   link   传递   ret   spl   template   stp   value   结构体   

原文地址:https://www.cnblogs.com/miaoying/p/9964649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!