Junior — Middle
Môžete vysvetliť, na čo sa používa anotácia @ExceptionHandler v Java Spring?
sobes.tech AI
Odpoveď od AI
Anotácia @ExceptionHandler v Spring Java sa používa na spracovanie výnimiek, ktoré vznikajú v kontroléroch. Umožňuje definovať metódu, ktorá bude volaná pri výskyte určitého typu výnimky, čo pomáha centralizovane spravovať chyby a vracať zrozumiteľné odpovede klientovi.
Príklad použitia:
@Controller
public class MyController {
@GetMapping("/example")
public String example() {
if (true) {
throw new IllegalArgumentException("Nesprávny argument");
}
return "ok";
}
@ExceptionHandler(IllegalArgumentException.class)
public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
return ResponseEntity
.status(HttpStatus.BAD_REQUEST)
.body("Chyba: " + ex.getMessage());
}
}
V tomto príklade, ak metóda example vyhodí IllegalArgumentException, zachytí ju metóda s anotáciou @ExceptionHandler a vráti klientovi odpoveď s kódom 400 a chybovou správou.