[스프링부트] Validation 기본 구조

이희수·2025년 2월 4일

Spring Boot에서 유효성 검사(=validation)는 입력 데이터의 신뢰성을 보장하기 위해 필수로 사용된다. 클라이언트가 요청한 데이터의 형식과 조건이 적절한지 확인하는 작업이 중요하기 때문!

Spring Boot Validation 기본 구조

1. DTO에 유효성 검사 어노테이션 적용

DTO(Data Transfer Object)에 유효성 검사 어노테이션을 추가하여, 필드별로 검증을 수행할 수 있다.

@NotBlank // 공백 및 빈 문자열 허용 X
@Email // 이메일 형식 검사
@NotNull
@Min // 최소값 설정
@Max // 최대값 설정

위와 같은 어노테이션을 사용할 수 있다. 괄호 안에 검증에 대한 메시지를 추가할 수도 있다.

예)

@NotBlank(message = "이름은 필수 입력값입니다.")
private String name;

2. Controller에서 @Valid 또는 @Validated 사용

Controller에서는 @Valid 또는 @Validated 어노테이션을 활용하여 DTO 검증할 수 있다.

@Valid
@Valid

예시 코드)

@PostMapping("/create")
public ResponseEntity<String> createUser(@Valid @RequestBody UserDTO userDTO) {
        return ResponseEntity.ok("회원 생성 성공!");
    }

3. 전역 예외 처리로 검증 오류 관리

컨트롤러에서 직접 에러 메시지를 관리하는 대신, 전역 예외 처리 (@RestControllerAdvice)를 활용하여 한 곳에서 처리.

0개의 댓글