Sobes.tech
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.