问题
相信你在使用restTemplate的时候,应该是在类中进行注入,
@Autowired
private RestTemplate restTemplate;
然后在方法中去调用
String result = restTemplate.postForObject(........);
结果返回的数据result一直都是null
null
如果你就是这样使用restTemplate的话,肯定会返回空的
解决方法
会出现这种结果就是因为大家没有初始化restTemplate
我们需要在类中定义初始化restTemplate的方法,如下:
/**
* 创建指定字符集的RestTemplate
*
* @param charset 编码
* @return 返回结果
*/
public static RestTemplate getInstance(String charset) {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new StringHttpMessageConverter(Charset.forName(charset)));
return restTemplate;
}
}
以上方法可以直接复制粘贴,然后在使用restTemplate时,就是调用这个方法
String result=getInstance("utf-8").postForObject(........);
只要你在postForObject中传递的参数正确,就肯定可以获取到正确的返回值result了。
希望可以解决各位困惑
我是‘’道祖且长‘’,一个在互联网苟且偷生的Java程序员