유효성 검증이란?
Validation 이란 어떤 데이터의 값이 유효한지, 타당한지 확인하는 것을 말한다. 이는 올바르지 않은 데이터가 서버로 전송되거나 DB 에 저장되는 것을 막기 위함이다.
들어온 요청에 대해 타당하지 않으면 exception 을 던지는 코드를 작성할 수도 있지만 웹 어플리케이션이 커질때를 생각했을때 좋은 방법은 아니다. 필드가 늘어남에 따라 코드의 대부분이 유효성 검사 코드로 뒤덮일 것이기 때문이다.
스프링 부트의 기본적인 validation 인 Bean validation 은 클래스 필드에 특정 annotation 을 이용하여 제약조건을 정의한다.
의존성 설정
pom.xml 에 의존성을 추가해야한다.
<dependency><groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
XML
복사
annotation
annotation | 설명 | 비고 |
@size | 문자 길이 측정 | Int Type 불가 |
@NotNull | Null 불가 | |
@NotEmpty | Null, “” 불가 | |
@NotBlank | Null, “” 불가 | |
@Past | 과거 날짜 | |
@PastOnPresent | 오늘 이거나 과거 날짜 | |
@Future | 미래 날짜 | |
@FutureOnPresent | 오늘 이거나 미래 날짜 | |
@Pattern | 정규식 적용 | |
@Max | 최대값 | |
@Min | 최소값 | |
@AssertTrue/False | 별도 Logic 적용 | |
@Valid | 해당 object validation 실행 |