Junior — Middle
Můžete vysvětlit, k čemu slouží anotace @ExceptionHandler v Java Spring?
sobes.tech AI
Odpověď od AI
Anotace @ExceptionHandler v Spring Java se používá k ošetření výjimek, ke kterým dochází v kontrolerech. Umožňuje definovat metodu, která bude volána při výskytu určitého typu výjimky, což pomáhá centralizovaně spravovat chyby a vracet srozumitelné odpovědi klientovi.
Příklad použití:
@Controller
public class MyController {
@GetMapping("/example")
public String example() {
if (true) {
throw new IllegalArgumentException("Nesprávný argument");
}
return "ok";
}
@ExceptionHandler(IllegalArgumentException.class)
public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
return ResponseEntity
.status(HttpStatus.BAD_REQUEST)
.body("Chyba: " + ex.getMessage());
}
}
V tomto příkladu, pokud metoda example vyhodí IllegalArgumentException, zachytí ji metoda s anotací @ExceptionHandler a vrátí klientovi odpověď s kódem 400 a chybovou zprávou.