Sobes.tech
Junior — Middle

Poți explica pentru ce este folosită adnotarea @ExceptionHandler în Java Spring?

sobes.tech AI

Răspuns de la AI

A adnotarea @ExceptionHandler în Spring Java este utilizată pentru a trata excepțiile care apar în controlere. Permite definirea unei metode care va fi apelată atunci când apare un anumit tip de excepție, ceea ce ajută la gestionarea centralizată a erorilor și la returnarea unor răspunsuri clare către client.

Exemplu de utilizare:

@Controller
public class MyController {

    @GetMapping("/example")
    public String example() {
        if (true) {
            throw new IllegalArgumentException("Argument incorect");
        }
        return "ok";
    }

    @ExceptionHandler(IllegalArgumentException.class)
    public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
        return ResponseEntity
                .status(HttpStatus.BAD_REQUEST)
                .body("Eroare: " + ex.getMessage());
    }
}

În acest exemplu, dacă metoda example aruncă o IllegalArgumentException, metoda cu adnotarea @ExceptionHandler va captura această excepție și va returna clientului un răspuns cu codul 400 și un mesaj de eroare.