【发布时间】:2022-01-12 22:57:09
【问题描述】:
我有一个这样的枚举类:
ONE("1", "Description1"),
TWO("2", "Description2");
String value;
String description;
MyEnum(String value, String description) {
this.value = value;
this.description = description;
}
@Override
public String toString() {
return this.value;
}
@JsonValue
public String value() {
return this.value;
}
我正在与之交互的 API 需要一个 String 类型的参数,并且值可以用逗号分隔。
例如:api.com/test?param1=1,2
我用 url api.com/test 配置了一个 feign 客户端
然后像这样创建了一个 POJO
public class POJO {
private List<MyEnum> param1;
}
在我的假客户中,我有:
@RequestMapping(method = RequestMethod.GET)
MyResponse getResponse(@SpringQueryMap POJO request);
在通过某种 Spring 方法进行 API 调用之前,是否可以以某种方式将枚举列表转换为字符串列表?
截至目前,当我传递一个枚举列表时,它只考虑此列表中的最后一个枚举。
更新:我使用@JsonSerialize(converter=abc.class) 注释了要转换为列表的属性。但是@SpringQueryMap 似乎并不尊重该序列化..
【问题讨论】:
标签: java spring-cloud-feign feign