@Valid, @Validated

김예진·2022년 12월 8일
0

java

목록 보기
16/21

✨@Valid의 개념 및 사용법

-@Valid는 빈 검증기(Bean Validator)를 이용해 객체의 제약 조건을 검증하도록 지시하는 어노테이션

먼저 의존성을 추가한다(gradle형식)

implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation'

예를 들어 @NotNull 어노테이션은 필드의 값이 null이 아님을 확인하도록 하며 @Main은 해당 값의 최솟값을 지정할 수 있도록 함

@Getter
@RequiredArgsConstructor
public class AddUserRequest {

	@Email
	private final String email;

	@NotBlank
	private final String pw;

	@NotNull
	private final UserRole userRole;

	@Min(12)
	private final int age;

}

그리고 다음과 같이 컨트롤러의 메소드에 @Valid를 붙여주면 유효성 검증이 진행됨

✨@Validated의 개념 및 사용법

-입력 파라미터의 유효성 검증은 컨트롤러에서 최대한 처리하고 넘겨주는 것이 좋지만 개발을 하다보면 불가피하게 다른 곳에서 파라미터를 검증해야 할 수 있음 Spring에서는 이를 위해 AOP기반으로 메소드의 요청을 가로채서 유효성 검증을 진행해주는 @Validated를 제공하고 있음

다음과 같이 클래스에 @Validated를 붙여주고, 유효성을 검증할 메소드의 파라미터에 @Valid를 붙여주면 유효성 검증이 진행됨
@Service
@Validated
public class UserService {

public void addUser(@Valid AddUserRequest addUserRequest) {
	...
}

}

0개의 댓글