I want to deserialize an enum with Jackson 2.13.1.
I found the following solution.
public enum Type {
TYPEONE("Type1");
private static Map<String, Type> typesMap = new HashMap<>(1);
static {
typesMap.put("type1", TYPEONE);
}
@JsonCreator
public static Type forValue(String value) {
return typesMap.get(value.toLowerCase());
}
private final String label;
Type(String label) {
this.label = label;
}
@JsonValue
public String getLabel() {
return label;
}
}
Still getting the following error:
java.lang.IllegalArgumentException: No enum constant com.cas.cascrt.certificate.model.enums.Type.Type1
at java.base/java.lang.Enum.valueOf(Enum.java:266) ~[na:na]