этом контроллере есть запрашиваемый параметр, который является Enum. Проблема следующая: когда я передаю в качестве параметра значение, которого нет в енаме, спринг кидает Exception MethodArgumentTypeMismatchException, т.к он использует StringToEnumConverter, который явно вызывает Enum.valueOf(value).
Как заставить Спринг использовать Jackson, а не свой конвертор?
Пример енама:
public enum Enum {
ONE, TWO;
@JsonCreator public static Enum safeValueOf(String value){
return Stream.of(Enum.values())
.filter(i -> i.name().equals(value))
.findAny() .orElse(null);
} }
помню было там что-то аля HttpMessageConverter, куда можно было кастомные рест конвертеры добавить, попробуй загуглить
Обсуждают сегодня