Plutôt que d'envelopper chaque méthode de contrôleur dans un try/catch, Spring vous permet de centraliser la gestion des erreurs dans une seule classe annotée @ControllerAdvice (ou @RestControllerAdvice). Les méthodes marquées @ExceptionHandler interceptent les exceptions levées n'importe où dans vos contrôleurs et les transforment en réponses HTTP cohérentes.
Un gestionnaire global
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
