Spring

Validation 유효성 검증

Domae_ 2023. 6. 2. 13:06
SMALL
validation 란?

유효성 검사를 쉽게 해줄수 있는 어노테이션을 지원해주는 Spring 라이브러리이다.

개인적으로 써봤는데 매우 편리하다.

 

@Valid와 @Validated

대표적으로 @Valid와 @Validated 가 있다. 

 

구조

@Valid와 @Validated 두개다 AOP 구현체를 사용하고 ArgumentResolver가 동작하게 된다.

이때 만약 유효성 검사에 통과가 되지 못하면,

@Valid는 MethodArgumentNotValidException 예외가 발생된다. 

@Validated 는 ConstraintViolationException 예외가 발생된다.

( ControllerAdvice 로 오류를 발생되면 뺏어서 내가 원하는대로 바꾸자 )

 

@Valid와 @Validated 차이

@Valid 는 Controller 에서 지정을 해줘서 검사를 실시 한다.

@Validated 는 클래스에 지정하여 검사를 실시한다.

 

어노테이션 종류
@NotNull 필드나 매개변수가 null이 아니어야 함을 나타냅니다.
@NotEmpty 문자열, 컬렉션, 맵 등이 null이 아니고 비어있지 않아야 함을 나타냅니다.
@NotBlank 문자열이 null이 아니고 비어있지 않고 공백이 아닌 문자를 포함해야 함을 나타냅니다.
@Min 숫자 필드나 매개변수가 지정된 최소값보다 크거나 같아야 함을 나타냅니다.
@Max 숫자 필드나 매개변수가 지정된 최대값보다 작거나 같아야 함을 나타냅니다.
@Size 문자열, 배열, 컬렉션 등의 크기가 지정된 범위 내에 있어야 함을 나타냅니다.
@Pattern 문자열이 지정된 정규식 패턴과 일치해야 함을 나타냅니다.
@Email 문자열이 유효한 이메일 주소 형식이어야 함을 나타냅니다.
@Valid 중첩된 객체나 컬렉션에 대한 유효성 검사를 수행하기 위해 사용되는 어노테이션입니다.

 

gradle 추가
implementation 'org.springframework.boot:spring-boot-starter-validation'

 

반응형
LIST