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!

猜你喜欢

转载自www.cnblogs.com/jaxlove-it/p/9724073.html