我有以下enum:
public enum BusinessType {
C_CORP("C-Corporation"),
S_CORP("S-Corporation"),
// more types
public final String name;
BusinessType(String name) {
this.name = name;
}
}
前端将以字符串形式提交name属性(例如:c -公司),我怎么能得到弹簧引导反序列化/查找正确的enum?目前,它尝试查找enum上的实际字符串,给出错误:
No enum constant ai.interval.common.model.enums.BusinessType.C-Corporation
这是我从前端接收到的视图中的属性:
BusinessType getBusinessType();
感谢为您的字段构建一个getter,然后在getter中添加@JsonValue注释。
public enum BusinessType {
...
@JsonValue
public String getName() {
return name;
}
}
您可以在此链接的第4节中找到其他选项:如何使用Jackson序列化和反序列化枚举