The following exception handler shows how it works:
@ExceptionHandler(ConstraintViolationException.class) ResponseEntity<Set<String>> handleConstraintViolation(ConstraintViolationException e) { Set<ConstraintViolation<?>> constraintViolations = e.getConstraintViolations(); Set<String> messages = new HashSet<>(constraintViolations.size()); messages.addAll(constraintViolations.stream() .map(constraintViolation -> String.format("%s value '%s' %s", constraintViolation.getPropertyPath(), constraintViolation.getInvalidValue(), constraintViolation.getMessage())) .collect(Collectors.toList())); return new ResponseEntity<>(messages, HttpStatus.BAD_REQUEST); }
You can get an invalid value (name) with
constraintViolation.getInvalidValue()
You can access the property name 'name' with
constraintViolation.getPropertyPath()
Stefan Isele - prefabware.com
source share