@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) ResponseMessage handleException(MethodArgumentNotValidException e) { SimpleValidateResults results = new SimpleValidateResults(); e.getBindingResult().getAllErrors() .stream() .filter(FieldError.class::isInstance) .map(FieldError.class::cast) .forEach(fieldError -> results.addResult(fieldError.getField(), fieldError.getDefaultMessage())); return ResponseMessage.error(400, results.getResults().isEmpty() ? e.getMessage() : results.getResults().get(0).getMessage()).result(results.getResults()); }
@ExceptionHandler(value = {MethodArgumentNotValidException.class}) public Result serviceException(MethodArgumentNotValidException ex) { log.error("service exception:{}", ex.getMessage()); return Result.fail(ErrorType.ARGUMENT_NOT_VALID); }
/** * hibernate validator异常 * @param e * @return */ @ExceptionHandler(MethodArgumentNotValidException.class) public ResultMap handlerMethodArgumentNotValidException(MethodArgumentNotValidException e) { logger.error(e.getMessage(), e); return ResultMap.error(500, "hibernate validator异常"); }
@ExceptionHandler(value = {MethodArgumentNotValidException.class}) public Result serviceException(MethodArgumentNotValidException ex) { log.error("service exception:{}", ex.getMessage()); return Result.fail(ErrorType.ARGUMENT_NOT_VALID); }
/** * Handle MethodArgumentNotValid exceptions. * * @param response The HTTP response * @param e The exception to handle * @throws IOException on error in sending error */ @ExceptionHandler(MethodArgumentNotValidException.class) public void handleMethodArgumentNotValidException( final HttpServletResponse response, final MethodArgumentNotValidException e ) throws IOException { this.countException(e); log.error(e.getMessage(), e); response.sendError(HttpStatus.PRECONDITION_FAILED.value(), e.getMessage()); }
@ExceptionHandler(value = MethodArgumentNotValidException.class) public ResponseEntity requestBodyValidationException(MethodArgumentNotValidException ex, HandlerMethod handlerMethod) { log.warn("RequestBodyValidationException handled in controller: {}, message: {} ", handlerMethod.getMethod().getDeclaringClass().getSimpleName(), ex.getMessage()); log.debug("Stacktrace: {}", ex); return new ResponseEntity<>(getTppMessages(FORMAT_ERROR), HttpStatus.BAD_REQUEST); }
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) public R handleError(MethodArgumentNotValidException e) { log.warn("参数验证失败", e.getMessage()); return handleError(e.getBindingResult()); }
@ExceptionHandler(value = MethodArgumentNotValidException.class) public ResponseEntity requestBodyValidationException(MethodArgumentNotValidException ex, HandlerMethod handlerMethod) { log.warn("RequestBodyValidationException handled in controller: {}, message: {} ", handlerMethod.getMethod().getDeclaringClass().getSimpleName(), ex.getMessage()); log.debug("Stacktrace: {}", ex); return responseErrorMapper.generateErrorResponse(createMessageError(FORMAT_ERROR)); }
@ExceptionHandler(value = MethodArgumentNotValidException.class) public ResponseEntity requestBodyValidationException(MethodArgumentNotValidException ex, HandlerMethod handlerMethod) { log.warn("RequestBodyValidationException handled in controller: {}, message: {} ", handlerMethod.getMethod().getDeclaringClass().getSimpleName(), ex.getMessage()); log.debug("Stacktrace: {}", ex); return responseErrorMapper.generateErrorResponse(createMessageError(FORMAT_ERROR)); }
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(BAD_REQUEST) @ResponseBody public UiError bindErrorHandler(MethodArgumentNotValidException bindException) { log.error("Can't process request", bindException); return createResponse(bindException.getMessage(), bindException.getBindingResult().getAllErrors().toString(), BAD_REQUEST); }
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) @ResponseBody public Result processValidationError(MethodArgumentNotValidException ex) { log.error(ex.getMessage(), ex); BindingResult result = ex.getBindingResult(); FieldError error = result.getFieldError(); return getFieldErrorResult(error); }
@ExceptionHandler @ResponseStatus(HttpStatus.BAD_REQUEST) public ErrorResponse handleException(MethodArgumentNotValidException exception) { String errorMsg = exception.getBindingResult().getFieldErrors().stream() .map(DefaultMessageSourceResolvable::getDefaultMessage) .findFirst() .orElse(exception.getMessage()); return ErrorResponse.builder().message(errorMsg).build(); }
@ExceptionHandler @ResponseStatus(HttpStatus.BAD_REQUEST) public ErrorResponse handleException(MethodArgumentNotValidException exception) { String errorMsg = exception.getBindingResult().getFieldErrors().stream() .map(DefaultMessageSourceResolvable::getDefaultMessage) .findFirst() .orElse(exception.getMessage()); return ErrorResponse.builder().message(errorMsg).build(); }
@ExceptionHandler @ResponseStatus(HttpStatus.BAD_REQUEST) public ErrorResponse handleException(MethodArgumentNotValidException exception) { String errorMsg = exception.getBindingResult().getFieldErrors().stream() .map(DefaultMessageSourceResolvable::getDefaultMessage) .findFirst() .orElse(exception.getMessage()); return ErrorResponse.builder().message(errorMsg).build(); }
/** * 方法参数无效异常处理 * * @param cause 异常 * @return 响应结果 */ @ExceptionHandler(MethodArgumentNotValidException.class) @ResponseBody public RespData handleBindException(MethodArgumentNotValidException cause, HttpServletRequest request) { // 输出错误信息 log.info("== 参数绑定异常 =="); List<ObjectError> errors = cause.getBindingResult().getAllErrors(); for (ObjectError error : errors) { log.info(error.toString()); } log.info(cause.getMessage(), cause); return validator(errors, request); }
@ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<StandardError> validation(MethodArgumentNotValidException e, HttpServletRequest request) { ValidationError err = new ValidationError(System.currentTimeMillis(), HttpStatus.UNPROCESSABLE_ENTITY.value(), "Erro de validação", e.getMessage(), request.getRequestURI()); for (FieldError x : e.getBindingResult().getFieldErrors()) { err.addError(x.getField(), x.getDefaultMessage()); } return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(err); }
@ExceptionHandler(value = MethodArgumentNotValidException.class) @ResponseBody public Result<Throwable> emptyValidate(HttpServletRequest req, MethodArgumentNotValidException e) throws Exception { LOGGER.error(e.getMessage(), e); return new Result<>(BizStatusEnum.PARAM_MISS.getCode(), BizStatusEnum.PARAM_MISS.getMsg() + ": " + e.getBindingResult().getFieldError().getField()); }
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) ResponseMessage handleException(MethodArgumentNotValidException e) { SimpleValidateResults results = new SimpleValidateResults(); e.getBindingResult().getAllErrors() .stream() .filter(FieldError.class::isInstance) .map(FieldError.class::cast) .forEach(fieldError -> results.addResult(fieldError.getField(), fieldError.getDefaultMessage())); return ResponseMessage.error(400, results.getResults().isEmpty() ? e.getMessage() : results.getResults().get(0).getMessage()).result(results.getResults()); }
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) @ResponseBody public RestResponse<FieldErrorDTO[]> processValidationError(MethodArgumentNotValidException e) { BindingResult result = e.getBindingResult(); List<FieldErrorDTO> errors = Lists.newArrayList(); for (FieldError fieldError : result.getFieldErrors()) { errors.add(new FieldErrorDTO(fieldError.getField(), fieldError.getCode())); } return RestResponseBuilder.<FieldErrorDTO[]> builder().data(errors.toArray(new FieldErrorDTO[errors.size()])) .error(RestErrorBuilder.builder(RestErrorCode.ILLEGAL_PARAMETER).message("Method argument is invalid " + e.getMessage()).build()).build(); }
/** Controllerへのリクエスト紐付け例外(for JSON) */ @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<Map<String, String[]>> handleMethodArgumentNotValid(MethodArgumentNotValidException e) { log.warn(e.getMessage()); return new ErrorHolder(msg, locale(), convert(e.getBindingResult().getAllErrors()).list()) .result(HttpStatus.BAD_REQUEST); }