List of usage examples for org.springframework.web.bind MethodArgumentNotValidException getBindingResult
public BindingResult getBindingResult()
From source file:com.logsniffer.web.controller.exception.RestErrorHandler.java
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST)//from w w w . j a va 2 s . c o m @ResponseBody public ErrorResponse processValidationError(final MethodArgumentNotValidException ex, final HttpServletResponse response) throws IOException { return processFieldErrors(processExceptionResponse(ex, response, org.apache.http.HttpStatus.SC_BAD_REQUEST), ex.getBindingResult().getFieldErrors()); }
From source file:com.orange.cepheus.cep.controller.AdminController.java
@ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<StatusCode> validationExceptionHandler(HttpServletRequest req, MethodArgumentNotValidException exception) { StringBuffer sb = new StringBuffer(); for (ObjectError error : exception.getBindingResult().getAllErrors()) { if (sb.length() != 0) { sb.append(", "); }/*ww w. j a v a 2 s .com*/ sb.append(error.getDefaultMessage()); } logger.error("Configuration validation error: {}", sb.toString()); StatusCode statusCode = new StatusCode(); statusCode.setCode("400"); statusCode.setReasonPhrase("Configuration validation error"); statusCode.setDetail(sb.toString()); return new ResponseEntity<>(statusCode, HttpStatus.BAD_REQUEST); }
From source file:se.skltp.cooperation.web.rest.exception.DefaultExceptionHandler.java
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST)/*from w w w. j a va 2 s . c om*/ @ResponseBody public ProblemDetail processValidationError(HttpServletRequest request, MethodArgumentNotValidException e) { log.debug("Handling form validation error"); ValidationError error = new ValidationError(); buildErrorMessage(request, e, HttpStatus.BAD_REQUEST, error); BindingResult result = e.getBindingResult(); List<FieldError> fieldErrors = result.getFieldErrors(); for (FieldError fieldError : fieldErrors) { log.debug("Adding error message: {} to field: {}", fieldError.getDefaultMessage(), fieldError.getField()); error.addFieldError(fieldError.getField(), fieldError.getCode(), fieldError.getDefaultMessage()); } return error; }
From source file:br.com.modoagil.asr.rest.support.RESTErrorHandler.java
/** * Manipula exceo de validao de objetos nos servios * * @param ex// www. ja v a 2 s .c om * {@link MethodArgumentNotValidException} * @return resposta ao cliente */ @ResponseBody @ExceptionHandler(MethodArgumentNotValidException.class) public Response<E> processMethodArgumentNotValidException(final MethodArgumentNotValidException ex) { this.logger.info("handleMethodArgumentNotValidException - Catching: " + ex.getClass().getSimpleName(), ex); final BindingResult result = ex.getBindingResult(); final FieldError fieldError = result.getFieldError(); final String message = this.messageSource.getMessage(fieldError.getDefaultMessage(), null, null); return new ResponseBuilder<E>().success(false).status(HttpStatus.BAD_REQUEST).message(message).build(); }
From source file:net.jkratz.igdb.controller.advice.ErrorController.java
@RequestMapping(produces = "application/json") @ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(value = HttpStatus.BAD_REQUEST) public @ResponseBody Map<String, Object> handleValidationException(MethodArgumentNotValidException ex) throws IOException { logger.warn(ex.getMessage());// ww w . j a v a 2 s . co m Map<String, Object> map = Maps.newHashMap(); map.put("error", "Validation Failure"); map.put("violations", convertConstraintViolation(ex)); map.put("target", ex.getBindingResult().getTarget()); map.put("expectedType", ex.getBindingResult().getObjectName()); return map; }
From source file:tv.arte.resteventapi.web.errors.GlobalDefaultExceptionHandler.java
/** * Handle all exceptions of type {@link ImageRepositoryException} thrown by (or passing trough) the Controller's layer * /*www . jav a 2 s .c o m*/ * @param response The HttpServletResponse * @param e Thrown RestEventApiValidationException * @return * @throws Exception */ @ExceptionHandler(value = MethodArgumentNotValidException.class) public ModelAndView restEventApiMethodArgumentNotValidExceptionHandler(HttpServletRequest request, MethodArgumentNotValidException e) throws Exception { RestEventApiStandardResponse<RestEventApiMessage> restEventApiStandardResponse = new RestEventApiStandardResponse<RestEventApiMessage>(); Locale userLocale = request.getLocale(); String descriprionNotAvailableDefaultMessage = RestEventApiError.PRE_DEFINED.RIA_ERR_G_DESC_NOT_AVAILABLE .getDefaultMessageText(); for (ObjectError globalError : e.getBindingResult().getGlobalErrors()) { restEventApiStandardResponse.addError(new RestEventApiMessage(globalError.getDefaultMessage(), this.messageSource.getMessage(globalError.getCode(), globalError.getArguments(), descriprionNotAvailableDefaultMessage, userLocale))); } for (FieldError fieldError : e.getBindingResult().getFieldErrors()) { String messageCode = null; String defaultMessageText = null; if (fieldError.isBindingFailure()) { messageCode = RestEventApiError.PRE_DEFINED.RIA_ERR_V_BINDING.getCode(); defaultMessageText = RestEventApiError.PRE_DEFINED.RIA_ERR_V_BINDING.getDefaultMessageText(); } else { //TODO: Find an appropriate way to search pre-defined RestEventAPiError messageCode = fieldError.getDefaultMessage(); defaultMessageText = descriprionNotAvailableDefaultMessage; } restEventApiStandardResponse .addError(new FieldValidationError(messageCode, this.messageSource.getMessage(messageCode, fieldError.getArguments(), defaultMessageText, userLocale), fieldError.getField())); } ModelAndView mav = new ModelAndView(); mav.addObject(restEventApiStandardResponse); mav.setView(restEventApiDefaultErrorView); return mav; }
From source file:com.mycompany.springboot.handler.MethodArgumentNotValidExceptionHandler.java
@ResponseBody @ResponseStatus(HttpStatus.BAD_REQUEST)//www . j a v a 2 s . c o m @ExceptionHandler(MethodArgumentNotValidException.class) public Map<String, Object> handler(MethodArgumentNotValidException ex) { // Map<String, Object> map = new HashMap<>(); // List<Object> list = new ArrayList<>(); // // for (FieldError error : ex.getBindingResult().getFieldErrors()) { // Map<String, Object> mapError = new HashMap<>(); // mapError.put("field", error.getField()); // mapError.put("message", error.getDefaultMessage()); // list.add(mapError); // } // map.put("errors", list); // return map; // Map<String,Object> map = new HashMap<>(); // map.put("error_id","1"); // map.put("error", ex.getBindingResult().getFieldError().getDefaultMessage()); // return map; Map<String, Object> map = new HashMap<>(); List<Object> list = new ArrayList<>(); ex.getBindingResult().getFieldErrors().stream().map((error) -> { Map<String, Object> mapError = new HashMap<>(); mapError.put("field", error.getField()); mapError.put("message", error.getDefaultMessage()); return mapError; }).forEach((mapError) -> { list.add(mapError); }); map.put("errors", list); return map; }
From source file:org.craftercms.commons.validation.rest.ValidationAwareRestExceptionHandlers.java
@Override protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex, HttpHeaders headers, HttpStatus status, WebRequest request) { ValidationResult result = new ValidationResult(); for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) { result.addError(fieldError.getField(), ValidationUtils.getErrorMessage(errorMessageBundle, FIELD_MISSING_ERROR_CODE)); }// ww w. java 2s. c o m return handleExceptionInternal(ex, result, new HttpHeaders(), HttpStatus.BAD_REQUEST, request); }
From source file:org.jasig.ssp.transferobject.ServiceResponse.java
/** * Extract the Validation messages out of the * MethodArgumentNotValidException, and use as the ServiceResponse Message. * // w ww.j a v a2s . c om * @param success * If the response should indicate success or not * @param e * Error messages to show */ public ServiceResponse(final boolean success, final MethodArgumentNotValidException e) { this.success = success; // collect the error messages final List<String> errorMessages = Lists.newArrayList(); for (final ObjectError error : e.getBindingResult().getAllErrors()) { final StringBuilder sb = new StringBuilder(); // NOPMD // get the field name if it is a field error. if (error instanceof FieldError) { final FieldError fe = (FieldError) error; sb.append("[").append(fe.getField()); } else { sb.append("["); } // get the default message sb.append(" ").append(error.getDefaultMessage()).append("] "); // add it to the list of error messages errorMessages.add(sb.toString()); } // sort the messages for readablility Collections.sort(errorMessages); // introduce the error messages final int errorCount = e.getBindingResult().getErrorCount(); final StringBuilder sb = new StringBuilder("Validation failed for argument ") .append(e.getParameter().getParameterName()).append(", with ").append(errorCount) .append(errorCount > 1 ? " errors: " : " error: "); // append the sorted error messages to the introduction and set as the // service response message. sb.append(StringUtils.join(errorMessages, ",")); message = sb.toString(); }
From source file:org.opentestsystem.shared.web.AbstractRestController.java
/** * Catch validation exception and return customized error message *///w w w . j a v a 2s . com @ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(value = HttpStatus.BAD_REQUEST) @ResponseBody public ResponseError handleMethodArgumentNotValidException(final MethodArgumentNotValidException except) { final List<FieldError> errors = except.getBindingResult().getFieldErrors(); final Map<String, List<String>> errorsByField = new TreeMap<String, List<String>>(); for (final FieldError error : errors) { if (errorsByField.get(error.getField()) == null) { errorsByField.put(error.getField(), new ArrayList<String>()); } final List<String> messageList = errorsByField.get(error.getField()); String rejectedValue = ""; if (error.getRejectedValue() == null) { rejectedValue = "null"; } else { rejectedValue = error.getRejectedValue().toString(); } final List<String> args = Lists.newArrayList(error.getField(), rejectedValue); if (error.getArguments() != null) { final Iterable<String> argsToAdd = Iterables.transform(Arrays.asList(error.getArguments()), TO_STRING_FUNCTION); args.addAll(Lists.newArrayList(argsToAdd)); } messageList.add(getLocalizedMessage(error.getDefaultMessage(), args.toArray(new String[args.size()]))); } // sort error messages for (final Map.Entry<String, List<String>> entry : errorsByField.entrySet()) { Collections.sort(entry.getValue()); } return new ResponseError(errorsByField); }