हर controller method को try/catch में लपेटने के बजाय, Spring आपको error handling को एक ऐसी class में केंद्रित करने देता है जिस पर @ControllerAdvice (या @RestControllerAdvice) annotate होता है। @ExceptionHandler से mark किए गए methods आपके controllers में कहीं भी throw हुई exceptions को पकड़ते हैं और उन्हें सुसंगत HTTP responses में बदल देते हैं।
एक global handler
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
