如何解决使用restTemplate进行feign调用new HttpEntity<>报错问题
作者:时间是一种解药
这篇文章主要介绍了如何解决使用restTemplate进行feign调用new HttpEntity<>报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
restTemplate进行feign调用new HttpEntity<>报错
问题背景
今天才知道restTemplate可以直接调用feign,高级用法呀,但使用restTemplate进行feign调用new HttpEntity<>报错了标红了
导入的错包为:
import org.apache.http.HttpEntity;
HttpEntity<>标红解决方案
1 原来是因为引错了包,在标红处使用快捷键alt+enter,选第二个改变类型
更改新包为:
import org.springframework.http.ResponseEntity;
心得
不同依赖导致的问题,要多注意
resttemplate调用HttpEntity 产生报错
项目场景
resttemplate调用HttpEntity 产生报错
传输过程
问题描述
org.springframework.web.client.RestClientException: Could not write request: no suitable HttpMessageConverter found for request type [[Lorg.apache.commons.httpclient.NameValuePair;] and content type [application/x-www-form-urlencoded]
原因分析
HashMap<String, String> map = new HashMap<>(); map.put("xmlData", "xmlDataInfo"); //上面的map直接塞进request请求里会报错 /** * org.springframework.web.client.RestClientException: Could not write request: no suitable HttpMessageConverter * found for request type [[Lorg.apache.commons.httpclient.NameValuePair;] and content type [application/x-www-form-urlencoded */ //应该把map换成NameValuePair[] data = { new NameValuePair("xmlData",string) }; NameValuePair[] data = { new NameValuePair("xmlData",string) }; HttpEntity<String> httpEntity = new HttpEntity(data, headers); //这样就可以了
解决方案
应该把hashmap 换成 MultiValueMap 就可以了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。