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请求时用复杂类传参的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud Feign实现自定义复杂对象传参

Python如何用列表向类传参?急!在线等!

feign 发送请求时,传多个参数时的写法

Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method 'POST' not supported (附带其余好几个坑)

Spring Cloud Feign 如何使用对象参数

vue axios请求发送传参undefined