/
on-line-javalex
/
HW_NoSQL_JavaData
Обзор
Документация
Войти
/
on-line-javalex
/
HW_NoSQL_JavaData
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Mommy/advice/GlobalExceptionHandler.java
45 строк
2 KB
on-line-javalex
create: GlobalExceptionHandler.java, OpenApiConfig.java, UserController.java, UserCreateRequest.java, UserResponse.java, User.java, UserMapper.java, MommyApplication.java, UserRepository.java, UserService.java
12 май 2026, 13:58
Верифицирован
12 май 2026, 13:58
aac6fe8
Код
Авторство
О чём код?
package Mommy.advice; import com.mongodb.DuplicateKeyException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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 { @ExceptionHandler(DuplicateKeyException.class) public ResponseEntity<Map<String, String>> handleDuplicateKey(DuplicateKeyException ex) { Map<String, String> body = new HashMap<>(); body.put("error", "Пользователь с таким email уже существует"); return ResponseEntity.status(HttpStatus.CONFLICT).body(body); } @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<Map<String, String>> handleValidation(MethodArgumentNotValidException ex) { Map<String, String> errors = new HashMap<>(); ex.getBindingResult().getFieldErrors().forEach(error -> errors.put(error.getField(), error.getDefaultMessage()) ); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(errors); } @ExceptionHandler(RuntimeException.class) public ResponseEntity<Map<String, String>> handleRuntimeException(RuntimeException ex) { Map<String, String> body = new HashMap<>(); body.put("error", ex.getMessage()); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(body); } @ExceptionHandler(Exception.class) public ResponseEntity<Map<String, String>> handleAllOther(Exception ex) { Map<String, String> body = new HashMap<>(); body.put("error", "Внутренняя ошибка сервера"); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(body); } }