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 | 문자열이 지정된 정규식 패턴과 일치해야 함을 나타냅니다. |
문자열이 유효한 이메일 주소 형식이어야 함을 나타냅니다. | |
@Valid | 중첩된 객체나 컬렉션에 대한 유효성 검사를 수행하기 위해 사용되는 어노테이션입니다. |
gradle 추가
implementation 'org.springframework.boot:spring-boot-starter-validation'
반응형
LIST
'Spring' 카테고리의 다른 글
Spring Security (2) (0) | 2023.06.08 |
---|---|
Json 방식으로 데이터 보내기 (0) | 2023.06.08 |
Redis (2) (0) | 2023.06.01 |
Redis (1) (2) | 2023.06.01 |
Spring ControllerAdvice, RestControllerAdvice, ExceptionHandler (0) | 2023.05.27 |