Sobes.tech
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 და შეცდომის შეტყობინებით.