728x90
스프링 부트에서 유효성 검사를 수행한 후, 발생한 에러 메시지를 사용자에게 보여주는 방법은 크게 두 가지로 나뉩니다. 첫 번째는 BindingResult 객체를 사용하는 방법이고, 두 번째는 예외 처리를 통해 에러 메시지를 커스터마이징하는 방법입니다.
BindingResult를 사용한 에러 메시지 처리
기본 원리: @Valid 어노테이션을 사용하여 객체를 검증한 후, BindingResult 객체를 통해 검증 결과를 받습니다.
@PostMapping("/yourpoint")
public String yourMethod(@Valid YourObject yourObject, BindingResult result) {
if (result.hasErrors()) {
// 에러 처리 로직
}
// 정상 로직 수행
}
간단한 에러 처리에 적합하며, 컨트롤러 내에서 직접 처리할 수 있습니다.
예외 처리를 통한 에러 메시지 커스터마이징
기본 원리: @ControllerAdvice를 사용하여 전역적으로 예외를 처리하고, @ExceptionHandler를 통해 특정 예외 발생 시 커스텀 에러 메시지를 반환합니다.
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<Object> handleValidationExceptions(
MethodArgumentNotValidException ex) {
// 에러 메시지 처리 로직
}
}
애플리케이션 전반에 걸쳐 일관된 에러 메시지 포맷을 제공할 수 있습니다.
에러 메시지를 사용자에게 보여주는 방법을 선택할 때는 애플리케이션의 요구 사항과 구조를 고려하여 가장 적합한 방법을 선택하는 것이 중요합니다.
'웹개발 > spring && springboot' 카테고리의 다른 글
스프링 JPA QueryDSL (0) | 2024.04.03 |
---|---|
[JPA]JPA를 활용 조회, 수정, 삭제 (0) | 2024.04.03 |
spring validation (0) | 2024.04.03 |
스프링 웹서비스(SOAP) 서버단 구현 (1) | 2024.04.03 |
스프링 페이징 pageble (0) | 2024.03.30 |