ਹਰ controller method ਨੂੰ try/catch ਵਿੱਚ ਲਪੇਟਣ ਦੀ ਥਾਂ, Spring ਤੁਹਾਨੂੰ error handling ਨੂੰ @ControllerAdvice (ਜਾਂ @RestControllerAdvice) annotated ਇੱਕ class ਵਿੱਚ ਕੇਂਦਰਿਤ ਕਰਨ ਦਿੰਦਾ ਹੈ। @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);
}
}
