Sobes.tech
Junior — Middle

Puoi spiegare a cosa serve l'annotazione @ExceptionHandler in Java Spring?

sobes.tech AI

Risposta dell'AI

L'annotazione @ExceptionHandler in Spring Java viene utilizzata per gestire le eccezioni che si verificano nei controller. Permette di definire un metodo che verrà chiamato quando si verifica un determinato tipo di eccezione, aiutando a gestire centralmente gli errori e a restituire risposte comprensibili al client.

Esempio di utilizzo:

@Controller
public class MyController {

    @GetMapping("/example")
    public String example() {
        if (true) {
            throw new IllegalArgumentException("Argomento non corretto");
        }
        return "ok";
    }

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

In questo esempio, se nel metodo example viene lanciata un'IllegalArgumentException, il metodo con annotazione @ExceptionHandler intercetterà questa eccezione e restituirà al client una risposta con codice 400 e un messaggio di errore.