Класс Enum, ColorName создается с использованием jsonschema2pojo из json-файла ColorName, поэтому по умолчанию класс Enum имеет метод fromValue, аннотированный с помощью @JsonCreator.
@JsonCreator
public static ColorName fromValue(String value) {
ColorName constant = constants.get(value);
if (constant == null) {
throw new IllegalArgumentException(value);
} else {
return constant;
}
}
Если этот класс используется для десериализации строки json в объект Java и если в json передано новое / неправильное значение Enum, то десериализация завершается неудачно с IllegalArgumentException()
. При попытке избежать этой ошибки, используя ниже, это не сработало
ObjectMapper om = новый ObjectMapper (); om.configure (DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, истина);
Проблема, похоже, в том, что @JsonCreator всегда уважают. Есть ли способ указать десериализатору пропустить это или игнорировать неизвестное значение перечисления?