Code: Select all
@Data
public class EventRequestBean {
@Size( max = 40 )
private String title;
@Size( max = 50 )
private String topic;
}
Code: Select all
@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;
}
Ich versuche, den Feldnamen aus der ausgelösten Ausnahme abzurufen, aber anstatt mir den zu geben name title, es gibt mir den Parameternamen eventRequestBean, den ich in dem Controller verwende, von dem aus diese Ausnahme ausgelöst wird.
Code: Select all
@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);
}
}