본문 바로가기
💻 개발/Spring

12/11 - TIL : Validation

by 컴쏘 2024. 12. 11.

 

| Spring Boot의 Validation  

Spring Boot에서 Validation은 사용자의 입력 데이터를 검증하는 역할을 한다.

이를 위해 컨트롤러에서 @Valid@Validated 어노테이션을 사용할 수 있다.

두 어노테이션은 비슷해 보이지만, 사용하는 방식과 특징에서 차이가 있다.

 

| @Valid

 

DTO 클래스의 필드에 설정된 제약 조건(예: @NotNull, @Size, @Email 등)을 검증한다. 

 

  • Spring이 아닌 Java 표준으로 제공되므로 프레임워크에 종속적이지 않다.
  • 그룹 검증(group validation)을 지원하지 않는다.
  • 예외 처리 시 : MethodArgumentNotValidException 발생.

 

| @Validated

Spring Framework에서 제공하는 어노테이션이다. 

  • @Valid와 비슷하게 유효성 검사를 수행하며, 추가적으로 그룹 검증(group validation)을 지원한다.
  • 특정 검증 그룹을 지정하여 조건별로 유효성 검사를 다르게 적용할 수 있다.
  • Spring에서만 동작한다.
  • 예외 처리 시 : ConstraintViolationException 발생

 

요약하자면, 간단한 유효성 검증에는 @Valid를 사용하고, 조건별 검증이 필요하거나 그룹 검증을 적용하려면 @Validated를 선택하는 것이 좋을 것 같다. 

 

  •