1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
@ExceptionHandler({ BindException.class }) @ResponseStatus(HttpStatus.OK) protected Object handleBindException(BindException e) { List<Map<String, String>> errors = new ArrayList<>(); for (ObjectError objectError : e.getAllErrors()) { Map<String, String> map = new HashMap<>(); if (objectError instanceof FieldError) { FieldError fieldError = (FieldError) objectError; map.put("field", fieldError.getField()); map.put("message", fieldError.getDefaultMessage()); } else { map.put("field", objectError.getObjectName()); map.put("message", objectError.getDefaultMessage()); } errors.add(map); }
return RestResponse.validationException(errors); }
@ExceptionHandler({ MethodArgumentNotValidException.class }) @ResponseStatus(HttpStatus.OK) protected Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { List<Map<String, String>> errors = new ArrayList<>(); for (ObjectError objectError : e.getBindingResult().getAllErrors()) { Map<String, String> map = new HashMap<>(); if (objectError instanceof FieldError) { FieldError fieldError = (FieldError) objectError; map.put("field", fieldError.getField()); map.put("message", fieldError.getDefaultMessage()); } else { map.put("field", objectError.getObjectName()); map.put("message", objectError.getDefaultMessage()); } errors.add(map); }
return RestResponse.validationException(errors); }
@ExceptionHandler({ ConstraintViolationException.class }) @ResponseStatus(HttpStatus.OK) @ResponseBody public Object handleConstraintViolationException(ConstraintViolationException e) {
List<Map<String, String>> errors = new ArrayList<>(); String[] msgs = e.getMessage().split(", "); for (String msg : msgs) { String[] fieldAndMsg = msg.split(": "); String field = fieldAndMsg[0].split("\\.")[1]; String message = fieldAndMsg[1];
Map<String, String> map = new HashMap<>(); map.put("field", field); map.put("message", message); errors.add(map); } return RestResponse.validationException(errors); }
|