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.