În loc să înfășori fiecare metodă de controller în try/catch, Spring îți permite să centralizezi tratarea erorilor într-o singură clasă adnotată @ControllerAdvice (sau @RestControllerAdvice). Metodele marcate @ExceptionHandler prind excepțiile aruncate oriunde în controllerele tale și le transformă în răspunsuri HTTP consecvente.
Un handler global
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
