본문 바로가기
Spring

@NotNull @NotEmpty @NotBlank

by e-pd 2021. 1. 16.

Java에서는 Bean Validation이라는 데이터 유효성 검사 프레임워크를 제공하고 있습니다.

 

Spring에서 이 기능을 이용하면 좀더 유효성 체크를 더 편리하게 할 수 있습니다.

 

Spring에서 사용하기 위해 Spring Boot Validation Starter를 추가합니다.

 

이번에 알아 볼 것은 @NotNull, @NotEmpty, @NotBlank 입니다.

어노테이션만 봐서는 실제 기능이 헷갈리니 테스트를 해보도록 하겠습니다.

 

포스트 기능을 사용하는 RestController를 만들었습니다.

 

Body의 내용을 받을 Dto를 만듭니다. 처음에는 NotNull 어노테이션을 붙입니다.

Validation 기능을 사용할 수 있도록 인자 부분에 @Valid 어노테이션을 붙입니다.

 

값을 보내지 않았을때 400 에러가 떨어집니다.

 

null 값은 체크할 수 있지만 빈 값은 체크하지 못합니다.

 

이번에는 NotEmpty 어노테이션을 이용합니다.

 

Null 값에서는 에러가 걸렸습니다.

빈값에도 에러가 걸렸습니다. 

하지만 공백을 포함한 빈값에는 통과했습니다.

 

NotBlank를 사용했습니다.

NotEmpty의 "" 값 체크까지는 동일하고 공백을 포함한 값에는 에러가 검증되었습니다.

 

 

결론: 

@NotNull : Null 값 체크

@NotEmpty : Null, "" 체크

@NotBlank : Null, "", 공백을 포함한 빈값 체크

'Spring' 카테고리의 다른 글

Propagation 주석  (0) 2021.08.16
인터파크 API 사용하기  (0) 2021.07.26
Parameterized Test를 이용해서 여러 값 검증하기  (0) 2021.01.16
Component Scan  (0) 2020.08.15
엑셀 업로드  (0) 2020.05.31