بدل لفّ كل دالة متحكم بـ try/catch، يتيح لك Spring تمركز معالجة الأخطاء في فئة واحدة مُعلَّمة بـ @ControllerAdvice (أو @RestControllerAdvice). الدوال المُعلَّمة بـ @ExceptionHandler تلتقط الاستثناءات المرمية في أي مكان في متحكماتك وتحوّلها إلى استجابات HTTP متسقة.
معالج عالمي
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
