如何解决使用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 就可以了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Cloud Ribbon 负载均衡使用策略示例详解
Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡工具,Ribbon客户端组件提供了一系列的完善的配置,如超时,重试等,这篇文章主要介绍了Spring Cloud Ribbon 负载均衡使用策略示例详解,需要的朋友可以参考下2023-03-03java应用开发之Mybatis通过Mapper代理自定义接口的实现
这篇文章主要介绍了java应用开发之Mybatis通过Mapper代理自定义接口的实现方式,有需要的朋友可以借鉴参考下,希望能够有所帮助2021-09-09Spring Boot 2.7.6整合redis与低版本的区别
这篇文章主要介绍了Spring Boot 2.7.6整合redis与低版本的区别,文中补充介绍了SpringBoot各个版本使用Redis之间的区别实例讲解,需要的朋友可以参考下2023-02-02基于Java字符串 "==" 与 "equals" 的深入理解
本篇文章是对Java中的字符串"=="与"equals"进行了详细的分析介绍,需要的朋友参考下2013-06-06
最新评论