In plaats van elke controller-methode in try/catch te wikkelen, laat Spring je error-afhandeling centraliseren in één klasse geannoteerd met @ControllerAdvice (of @RestControllerAdvice). Methoden gemarkeerd met @ExceptionHandler vangen exceptions die overal in je controllers worden gegooid en zetten ze om in consistente HTTP-responses.
Een globale handler
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
