@SpringQueryMap注解 feign的get传参方式(转)

spring cloud项目使用feign的时候都会发现一个问题,就是get方式无法解析对象参数。其实feign是支持对象传递的,但是得是Map形式,而且不能为空,与spring在机制上不兼容,因此无法使用。

spring cloud在2.1.x版本中提供了@SpringQueryMap注解,可以传递对象参数,框架自动解析,只可惜啊,得是2.1.0以后的版本。spring 在5.0中提供了webflux踢掉了对tomcat的依赖,又提供了gateway踢掉了对zuul的依赖,2.1.x版本恐怕是准备对netflix动刀了。

官方源码

// Params.java
public class Params {
    private String param1;
    private String param2;
 
    // [Getters and setters omitted for brevity]
}
 
@FeignClient("demo")
public class DemoTemplate {
 
    @GetMapping(path = "/demo")
    String demoEndpoint(@SpringQueryMap Params params);
}
原文地址:https://www.cnblogs.com/muxi0407/p/11764443.html