Ahelyett, hogy minden controller metódust try/catch-be csomagolnál, a Spring lehetővé teszi, hogy a hibakezelést egyetlen @ControllerAdvice-szal (vagy @RestControllerAdvice-szal) annotált osztályban központosítsd. A @ExceptionHandler-rel jelölt metódusok elkapják a controllereidben bárhol dobott kivételeket, és konzisztens HTTP válaszokká alakítják őket.
Egy globális handler
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
