Sobes.tech
Junior — Middle

Vai jūs varētu izskaidrot, kādam mērķim tiek izmantota @ExceptionHandler anotācija Java Spring?

sobes.tech AI

Atbilde no AI

@ExceptionHandler anotācija Spring Java tiek izmantota, lai apstrādātu izņēmumus, kas rodas kontrolieros. Tā ļauj definēt metodi, kas tiks izsaukta, kad notiek noteikta veida izņēmums, kas palīdz centralizēti pārvaldīt kļūdas un atgriezt saprotamus atbildes klientam.

Piemērs lietošanai:

@Controller
public class MyController {

    @GetMapping("/example")
    public String example() {
        if (true) {
            throw new IllegalArgumentException("Nepareizs arguments");
        }
        return "ok";
    }

    @ExceptionHandler(IllegalArgumentException.class)
    public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
        return ResponseEntity
                .status(HttpStatus.BAD_REQUEST)
                .body("Kļūda: " + ex.getMessage());
    }
}

Šajā piemērā, ja example metode izmet IllegalArgumentException, tad ar @ExceptionHandler marķētā metode noķers šo izņēmumu un atgriezīs klientam atbildi ar kodu 400 un kļūdas ziņojumu.