/
itokar98
/
HomeWorkSpringBootRest
Обзор
Документация
Войти
/
itokar98
/
HomeWorkSpringBootRest
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/example/rest/exception/GlobalExceptionHandler.java
50 строк
2 KB
itokar98
Запрос на слияние 'feature/task2' (
#1
) из feature/task2 в master
02 фев 2026, 17:55
Верифицирован
02 фев 2026, 17:55
d3d706d
Код
Авторство
О чём код?
package com.example.rest.exception; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import java.util.HashMap; import java.util.Map; @RestControllerAdvice public class GlobalExceptionHandler { // Обработка ошибок валидации (@Valid) @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<Map<String, String>> handleValidationExceptions( MethodArgumentNotValidException ex) { Map<String, String> errors = new HashMap<>(); ex.getBindingResult().getAllErrors().forEach((error) -> { String fieldName = ((FieldError) error).getField(); String errorMessage = error.getDefaultMessage(); errors.put(fieldName, errorMessage); }); return ResponseEntity .status(HttpStatus.BAD_REQUEST) .body(errors); } // Обработка InvalidCredentials @ExceptionHandler(InvalidCredentials.class) public ResponseEntity<String> handleInvalidCredentials(InvalidCredentials ex) { return ResponseEntity .status(HttpStatus.BAD_REQUEST) .body(ex.getMessage()); } // Обработка UnauthorizedUser @ExceptionHandler(UnauthorizedUser.class) public ResponseEntity<String> handleUnauthorizedUser(UnauthorizedUser ex) { System.out.println("Unauthorized access attempt: " + ex.getMessage()); return ResponseEntity .status(HttpStatus.UNAUTHORIZED) .body(ex.getMessage()); } }