使用 @SpringQueryMap 可以在 get 请求的时候使用对象传递参数,说明和例子如下。
【特别注意】使用@SpringQueryMap的情况下,需要使用 @Param 来设置输出的别名,而不能使用 @JsonProperty。
例如,Query类定义参数param1、userId、course_id:
// Query.java
@Data
public class Query {
private String param1;
private Long userId;
/**
* 和 @SpringQueryMap 搭配使用,@Param 可以为参数设置别名,以适配不符合编码规范的参数名
*/
@Param("course_id")
private Long courseId;
}
以下通过使用@SpringQueryMap批注来使用Query类:
//DemoTemplate.java
@FeignClient("demo")
public class DemoTemplate {
@GetMapping(path = "/demo")
String demoEndpoint(@SpringQueryMap Query query);
}
请求会类似于“/demo?param1=xx&userId=xx&course_id=xxx”