Sobes.tech
Junior — Middle

Pouvez-vous expliquer à quoi sert l'annotation @ExceptionHandler dans Java Spring?

sobes.tech IA

Réponse de l'IA

L'annotation @ExceptionHandler dans Spring Java est utilisée pour gérer les exceptions qui surviennent dans les contrôleurs. Elle permet de définir une méthode qui sera appelée lorsqu'un type spécifique d'exception se produit, ce qui aide à gérer centralement les erreurs et à renvoyer des réponses compréhensibles au client.

Exemple d'utilisation :

@Controller
public class MyController {

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

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

Dans cet exemple, si la méthode example lance une IllegalArgumentException, la méthode avec l'annotation @ExceptionHandler intercepta cette exception et renverra une réponse au client avec le code 400 et un message d'erreur.