იმის ნაცვლად, რომ ყოველი კონტროლერის მეთოდი try/catch-ში გახვიო, Spring საშუალებას გაძლევს, შეცდომების დამუშავება ერთ კლასში მოაქციო, რომელიც @ControllerAdvice-ით (ან @RestControllerAdvice-ით) არის annotate-ებული. @ExceptionHandler-ით მონიშნული მეთოდები იჭერენ გამონაკლისებს, რომლებიც კონტროლერებში სადმე გადაიგდება, და მათ თანმიმდევრულ HTTP პასუხებად აქცევენ.
გლობალური handler
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
