Sobes.tech
Junior — Middle

Java Spring-də @ExceptionHandler annotasiyasının nə üçün istifadə olunduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Java Spring-də @ExceptionHandler anotatsiyası, nəzarətçilərdə baş verən istisnaları idarə etmək üçün istifadə olunur. Bu, müəyyən bir növ istisna baş verdikdə çağırılacaq metodu təyin etməyə imkan verir və bu, səhvləri mərkəzləşdirilmiş şəkildə idarə etməyə və müştəriyə başa düşülən cavablar qaytarmağa kömək edir.

İstifadə nümunəsi:

@Controller
public class MyController {

    @GetMapping("/example")
    public String example() {
        if (true) {
            throw new IllegalArgumentException("Yanlış arqument");
        }
        return "ok";
    }

    @ExceptionHandler(IllegalArgumentException.class)
    public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
        return ResponseEntity
                .status(HttpStatus.BAD_REQUEST)
                .body("Xəta: " + ex.getMessage());
    }
}

Bu nümunədə, əgər example metodunda IllegalArgumentException atılırsa, @ExceptionHandler ilə işarələnmiş metod bu istisnanı tutacaq və müştəriyə 400 kodu və xəta mesajı ilə cavab qaytaracaq.