OpenFeign
注解@QueryMap
支持将POJO
对象用作GET
map
参数。但很不幸,该OpenFeign
缺省注解跟Spring
不兼容,因为它缺少一个属性value
。
但是Spring Cloud OpenFeign
提供了一个功能上等价的注解@SpringQueryMap
,使用该注解,可以将一个POJO
或者Map
作为一个请求参数query parameter map
.
比如,我们有一个POJO Params
,定义两个属性param1
和param2
:
// Params.java
public class Params {
private String param1;
private String param2;
// [Getters and setters omitted for brevity]
}
那么下面的feign
客户端就可以使用注解@SpringQueryMap
将Params
作为一个query parameter map
使用 :
@FeignClient("demo")
public class DemoTemplate {
// 该用法相当于要传递两个GET参数 : param1 和 param2
@GetMapping(path = "/demo")
String demoEndpoint(@SpringQueryMap Params params);
}