Как извлечь имя поля и сообщение об ошибке из класса MethodArgumentNotValidException?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как извлечь имя поля и сообщение об ошибке из класса MethodArgumentNotValidException?

Сообщение Anonymous »

Я использую аннотацию javax.validation.Size для проверки размера строки.

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

@Data
public class EventRequestBean {

@Size( max = 40 )
private String title;

@Size( max = 50 )
private String topic;
}
И я использую глобальный обработчик исключений, чтобы генерировать пользовательское исключение на стороне клиента.

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

@ExceptionHandler( { MethodArgumentNotValidException.class } )
public final ResponseEntity handleException( Exception e, WebRequest request )
{
if( e instanceof MethodArgumentNotValidException )
{
MethodArgumentNotValidException exception = (MethodArgumentNotValidException) e;
String parameterName = exception.getParameter().getParameterName();
//            return buildError(new DataException(GeneralConstants.EXCEPTION, "Invalid content length: field +"e))

return null;
}

return null;
}
В моем пользовательском исключении DataException вторым аргументом является сообщение об ошибке. Я хочу установить имя поля и допустимое ограничение размера в качестве сообщения.

Я пытаюсь получить имя поля из выброшенного исключения, но вместо того, чтобы предоставить мне name title, он дает мне имя параметра eventRequestBean, который я использую в контроллере, откуда выдается это исключение.

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

@PostMapping( "/event" )
public ResponseEntity createEvent( @Valid @RequestBody EventRequestBean eventRequestBean )
{
try
{
log.info(GeneralConstants.LOGGER_CONSTANT,
" Entered create event controller, path:rest/events/event - POST");
userCommons.throwExceptionForOtherThanAdminUser(getLoggedInUser());
return buildResponse(eventService.addEvent(eventRequestBean, getLoggedInUser()));
}
catch( DataException e )
{
return buildError(e);
}
}
Как мне получить имя поля и установленный допустимый размер, чтобы создать собственное исключение?

Подробнее здесь: https://stackoverflow.com/questions/597 ... umentnotva
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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