Исключение пользовательского десериализатора Spring загрузки оборачивается в MethodArgumentNotValidExceptionJAVA

Программисты JAVA общаются здесь
Anonymous
Исключение пользовательского десериализатора Spring загрузки оборачивается в MethodArgumentNotValidException

Сообщение Anonymous »

Конечная точка REST POST получает строку base64 в теле среди других значений. Это тело необходимо преобразовать в объект. Для этого у нас есть собственный Converter.
Мы его регистрируем

Код: Выделить всё

public void addFormatters(FormatRegistry registry){
registry.addCOnverter(new CustomConverter());
}
В конвертере

Код: Выделить всё

public CustomObject convert(String string){
try{
return handle(string);
} catch (Exception e){
throw new CustomException("Unable to handle string", e);
}
}
Мы хотели бы получить ответ с кодом состояния 400 с сообщением: «Невозможно обработать строку», но мы получаем любое сообщение MethodArgumentNotValidException. Где-то теряется исключение.
У нас также есть DefaultHandlerExceptionResolver, который должен сформировать ответ, но CustomException никогда не достигает этого места, оно вытесняется до того, как попадает сюда.
В любом случае я могу гарантировать, что ошибка, выданная преобразователем, достигнет клиента?

Подробнее здесь: https://stackoverflow.com/questions/785 ... entnotvali

Вернуться в «JAVA»