Junior — Middle
El tudnád magyarázni, hogy mire használják az @ExceptionHandler annotációt a Java Spring-ben?
sobes.tech MI
Válasz az MI-től
A @ExceptionHandler annotáció a Spring Java-ban az ellenőrzőkben fellépő kivételek kezelésére szolgál. Lehetővé teszi egy olyan módszer meghatározását, amelyet akkor hívnak meg, amikor egy adott típusú kivétel fordul elő, ezáltal központosítva a hibák kezelését és érthető válaszokat adva az ügyfélnek.
Használati példa:
@Controller
public class MyController {
@GetMapping("/example")
public String example() {
if (true) {
throw new IllegalArgumentException("Hibás argumentum");
}
return "ok";
}
@ExceptionHandler(IllegalArgumentException.class)
public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
return ResponseEntity
.status(HttpStatus.BAD_REQUEST)
.body("Hiba: " + ex.getMessage());
}
}
Ebben a példában, ha az example metódus IllegalArgumentException-t dob, akkor az @ExceptionHandler annotációval ellátott módszer elkapja ezt a kivételt, és egy 400-as kódú, hibát tartalmazó választ ad vissza az ügyfélnek.