Místo obalování každé metody controlleru do try/catch umožňuje Spring centralizovat zpracování chyb do jedné třídy anotované @ControllerAdvice (nebo @RestControllerAdvice). Metody označené @ExceptionHandler zachytí výjimky vyhozené kdekoli ve vašich controllerech a promění je v konzistentní HTTP odpovědi.
Globální handler
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
