본문 바로가기
웹개발/spring && springboot

[Springboot]유효성 검사 에러 노출

by 지구별 여행자 임탱 2024. 4. 3.
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