https://stackoverflow.com/questions/39774427/springs-requestparam-with-enum/39774853
针对第五种情况, 大家应该用的比较多了: Spring Boot 默认集成的 HTTP 序列化和反序列化工具 jackson 就提供了注解 @JsonCreator 来设定默认的反序列化方法. 示例:
public enum GenderEnum {
MALE(1),
FEMALE(2);
private int value;
@JsonValue
public int getValue() {
return value;
}
@JsonCreator
public static GenderEnum of(Integer value) {
if (null == value) {
return null;
}
for (GenderEnum item : GenderEnum.values()) {
if (value.equals(item.getValue())) {
return item;
}
}
throw new UnknownEnumValueException("GenderEnum: unknown value: " + value);
}
GenderEnum(int value) {
this.value = value;
}
}
网友评论