| 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를 선택하는 것이 좋을 것 같다.
'💻 개발 > Spring' 카테고리의 다른 글
11/29 - TIL : MSA에서의 트랜잭션 (0) | 2024.11.29 |
---|---|
11/22 - TIL : 영속성 컨텍스트와 Transaction (1) | 2024.11.22 |
11/21 - TIL : Spring Bean과 DIP, DI, Interface (0) | 2024.11.21 |
11/20 - TIL : Spring Cloud와 Load Balancer (1) | 2024.11.20 |
MVC Response - Spring MVC (0) | 2023.12.05 |