Reputation: 906
I'm using Spring Boot 2.2.0 to build a restful service with the java bean validation framework. Hibernate-Validator is used behind the scenes. The validation works well but throws an exception after one field fails to match the constraint. I would like to validate all fields first and then give the consumer a response with all errors. Is that possible?
Upvotes: 2
Views: 1860
Reputation: 108
Assuming you use @Valid
annotation on your request, there is a MethodArgumentNotValidException
that you could use in an @ExceptionHandler
method in order to achieve that.
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MethodArgumentNotValidException.class)
public List<String> handleValidationExceptions(MethodArgumentNotValidException ex) {
//get All errors with
ex.getBindingResult().getAllErrors();
//and map them
}
Upvotes: 1