Validation이란 null 값에 대해서 접근하려고 할 때 null pointer exception이 발생함으로, 이러한 부분을 방지하기 위해서 미리 검증하는 과정이다.
public void run(String account, Spring pw, int age){
if(account == null || pw == null){
return
}
if(age == 0){
return
}
// 정상 Logic
}
Validation 사용 이유
- 검증해야 할 값이 많은 경우 코드의 길이가 길어진다.
- 구현에 따라서 달라질 수 있지만 Service Logic과의 분리가 필요하다.
- 흩어져 있는 경우 어디에서 검증을 하는지 알기 어려우며, 재사용의 한계가 있다.
- 구현에 따라 달라질 수 있지만, 검증 Logic이 변경되는 경우 테스트 코드 등 참조하는 클래스에서 Logic이 변경되어야 하는 부분이 발생할 수 있다.
implementation("org.springframework.boot:spring-boot-starter-validation")
주요 Annotation
- @Size : 문자 길이 측정
- @NotNull : null 불가
- @NotEmpty : null, “”불가
- @NotBlank : null, “”, “ “불가
- @Past : 과거 날짜
- @PastOrPresent : 오늘 / 과거 날짜
- @Future : 미래 날짜
- @FutureOrPresent : 오늘 / 미래 날짜
- @Pattern : 정규식 적용 ex> "^\\d{2,3}-\\d{3,4}-\\d{4}$”
- @Max : 최대값
- @Min : 최소값
- @AssertTrue / False : 별도 Logic적용
- @Valid : 해당 object validation 실행
Custom Validation
- AssertTrue / False 와 같은 method 지정을 통해서 Custom Logic 적용 가능
- ConstraintValidator 를 적용하여 재사용이 가능한 Custom Logic 적용 가능
'Web & Android > SpringBoot' 카테고리의 다른 글
[SpringBoot] 파일 경로 설명 (0) | 2023.10.14 |
---|---|
[SpringBoot] log 디자인 변경하는 방법 (코드) (0) | 2023.10.13 |
[SpringBoot] HTTP form에서 put, delete 사용법 (0) | 2023.10.13 |
[SpringBoot] REST API (0) | 2023.10.13 |
[SpringBoot] Bean (0) | 2023.10.13 |