Junior — Middle
Ar galite paaiškinti, kam naudojama @ExceptionHandler anotacija Java Spring?
sobes.tech AI
Atsakymas iš AI
@ExceptionHandler anotacija Spring Java naudojama klaidų, kurios įvyksta kontroleriuose, tvarkymui. Ji leidžia apibrėžti metodą, kuris bus iškviestas, kai įvyksta tam tikro tipo išimtis, kas padeda centralizuotai tvarkyti klaidas ir grąžinti suprantamus atsakymus klientui.
Naudojimo pavyzdys:
@Controller
public class MyController {
@GetMapping("/example")
public String example() {
if (true) {
throw new IllegalArgumentException("Neteisingas argumentas");
}
return "ok";
}
@ExceptionHandler(IllegalArgumentException.class)
public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
return ResponseEntity
.status(HttpStatus.BAD_REQUEST)
.body("Klaida: " + ex.getMessage());
}
}
Šiame pavyzdyje, jei example metodas išmes IllegalArgumentException, tada @ExceptionHandler pažymėtas metodas sugautų šią išimtį ir grąžintų klientui atsakymą su 400 kodu ir klaidos pranešimu.