Sen sijaan että kietoisit jokaisen controller-metodin try/catchiin, Spring antaa keskittää virheenkäsittelyn yhteen luokkaan, joka on annotoitu @ControllerAdvice (tai @RestControllerAdvice). @ExceptionHandlerilla merkityt metodit nappaavat poikkeukset, jotka heitetään missä tahansa controllereissasi, ja muuttavat ne johdonmukaisiksi HTTP-vastauksiksi.
Globaali handler
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
