의존성 추가

build.gradle에 validation 패키지 추가

implementation 'org.springframework.boot:spring-boot-starter-validation'

DTO 필드 구성

각 필드에 유효성 검증 어노테이션을 붙여줘야 함

public class UserCreateDto {
    
    @NotBlank(message = "이름은 필수입니다")
    @Size(min = 2, max = 50, message = "이름은 2자 이상 50자 이하여야 합니다")
    private String name;
    
    @NotBlank(message = "이메일은 필수입니다")
    @Email(message = "올바른 이메일 형식이 아닙니다")
    private String email;
    
    @NotNull(message = "나이는 필수입니다")
    @Min(value = 0, message = "나이는 0 이상이어야 합니다")
    @Max(value = 150, message = "나이는 150 이하여야 합니다")
    private Integer age;
    
    @Pattern(regexp = "^010-\\\\d{4}-\\\\d{4}$", message = "휴대폰 번호 형식이 올바르지 않습니다")
    private String phoneNumber;
    
    @NotEmpty(message = "취미는 최소 하나 이상 선택해야 합니다")
    private List<String> hobbies;
    
    // 중첩 객체 검증
    @Valid
    @NotNull(message = "주소 정보는 필수입니다")
    private AddressDto address;
    
    // getter, setter, constructor...
}

사용 가능한 주요 어노테이션 목록