Spring Cloud项目使用OpenFeign的时候都会发现一个问题,就是get方式无法解析对象参数,@QueryMap注解支持将POJO用作GET参数映射。不幸的是,默认的OpenFeign @QueryMap注释与Spring不兼容,因为它缺少属性value。
Spring Cloud OpenFeign在2.1.x版本中提供等效的@SpringQueryMap注解,可以传递对象参数,框架自动解析。
例如,Params.java类定义两个属性param1和param2:
// 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);
}