Junior — Middle
შეგიძლიათ ახსნათ, რა მიზნით გამოიყენება @ExceptionHandler ანოტაცია Java Spring-ში?
sobes.tech AI
პასუხი AI-სგან
Java Spring-ში @ExceptionHandler ანოტაცია გამოიყენება კონტროლერებში წარმოქმნილი გამონაკლისების მართვისთვის. იგი საშუალებას აძლევს განსაზღვროს მეთოდი, რომელიც გამოიძახება კონკრეტული ტიპის გამონაკლისის წარმოქმნისას, რაც ეხმარება შეცდომების ცენტრალიზებულად მართვას და გასაგები პასუხების დაბრუნებას მომხმარებელთან.
გამოყენების მაგალითი:
@Controller
public class MyController {
@GetMapping("/example")
public String example() {
if (true) {
throw new IllegalArgumentException("არასწორი არგუმენტი");
}
return "ok";
}
@ExceptionHandler(IllegalArgumentException.class)
public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
return ResponseEntity
.status(HttpStatus.BAD_REQUEST)
.body("შეცდომა: " + ex.getMessage());
}
}
ამ მაგალითში, თუ example მეთოდში გამოიწვევა IllegalArgumentException, მაშინ @ExceptionHandler-ით მონიშნული მეთოდი დაიჭერს ამ გამონაკლისს და მომხმარებელს დაუბრუნებს პასუხს კოდით 400 და შეცდომის შეტყობინებით.