feign发送get请求时用复杂类传参
Posted jaxlove-it
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了feign发送get请求时用复杂类传参相关的知识,希望对你有一定的参考价值。
如题,网上都有做法,只有有些人说的不清楚。而我自己也遇到了其他坑这里记录一下
1.就是网上说的做法:
客户端:application.yml加上配置:
feign:
httpclient:
enabled: true
请求接口上
@RequestMapping(method = RequestMethod.GET,value = "***",consumes = ("application/json"))
ResultVo<List<Goods>> selectGoods(Goods goods);
pom上:
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.6</version> </dependency> <!--使用Apache HttpClient替换Feign原生httpclient--> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId> <version>10.0.1</version> </dependency>
服务端:接口参数上加上 @RequestBody 注解
2.自己遇到的坑:
一开始不知道为什么,请求还是不行,依旧调用jdk的HttpURLConnection 的 getOutputStream0 方法(想判断feign.httpclient.enalble是否生效,可以在方法里打断点)。之后尝试了其他解决方式,发现报错没有feign.httpclient.ApacheHttpClient类,查找一下果然没有这个类,原来之前pom没有把jar导进来。使用上面的方法,reimport jar包~done!
以上是关于feign发送get请求时用复杂类传参的主要内容,如果未能解决你的问题,请参考以下文章
Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method 'POST' not supported (附带其余好几个坑)