# @Valid를 통한 Validation 처리
### 소개
Spring Boot 애플리케이션에서 @Valid 어노테이션을 활용한 유효성 검증 도입
### 원인
- 클라이언트로부터 받는 데이터의 신뢰성 확보 필요
- 부적절한 입력으로 인한 서버 오류 방지
- 일관된 에러 처리를 통한 사용자 경험 개선
### 해결방안
1. `spring-boot-starter-validation` 의존성 추가
2. DTO 클래스 필드에 `@field:NotBlank` 등의 제약조건 적용
3. 컨트롤러 메서드 파라미터에 `@Valid` 어노테이션 적용
### 해당 해결방안을 쓴 이유
- 코드 가독성과 유지보수성 향상 / 일관된 검증 로직 작성 가능
- 디스패처 서블릿 단계에서 검증으로 불필요한 프로세스 실행 방지
- 코드 중복 감소: 검증 로직이 모델 클래스에 집중
### 키워드
- @Valid
- @Validated
- field 접두사
- 컨트롤러 검증
유효성 검증은 언제나 애플리케이션에서 중요하다.
클라이언트로부터 받는 데이터의 신뢰성을 확보하고, 부적절한 입력으로 인한 서버 오류를 방지하며, 일관된 에러 처리를 통해 더 나은 사용자 경험을 제공해야 하기 때문이다.
특히 사용자 로그인과 같은 중요한 기능에서는 필수 입력값의 누락이나 형식 오류를 조기에 감지하는 것이 중요하기에 더더욱 필요한 요소이다.
이러한 처리를 Spring Boot 애플리케이션에서는 @Valid 어노테이션을 토대로 보다 간단하게 수행할 수 있다.
그런데…