Sobes.tech
Junior — Middle

Pode explicar para que é que é usada a anotação @ExceptionHandler no Java Spring?

sobes.tech IA

Resposta da IA

A anotação @ExceptionHandler no Spring Java é usada para lidar com exceções que ocorrem nos controladores. Ela permite definir um método que será chamado quando ocorrer um tipo específico de exceção, ajudando a tratar erros de forma centralizada e a retornar respostas compreensíveis ao cliente.

Exemplo de uso:

@Controller
public class MyController {

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

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

Neste exemplo, se o método example lançar uma IllegalArgumentException, o método com a anotação @ExceptionHandler interceptará essa exceção e retornará uma resposta ao cliente com o código 400 e uma mensagem de erro.