코드 그라데이션

Bean Validation - 스프링 적용 본문

Spring/Validation

Bean Validation - 스프링 적용

완벽한 장면 2024. 3. 2. 15:55

코드 수정 작업 계속

코드 제거

기존에 등록한 ItemValidator를 제거한다. (오류 검증기 중복 적용 때문)

 

삭제할 부분

ValidationItemControllerV3

// 주입 부분
private final ItemValidator itemValidator;

// 메서드
@InitBinder
public void init(WebDataBinder dataBinder) {
	log.info("init binder {}", dataBinder);
	dataBinder.addValidators(itemValidator);
}

 

실행

http://localhost:8080/validation/v3/items

-> 실행해보면 애노테이션 기반의 Bean Validation이 정상 동작하는 것을 확인할 수 있다.

등...

 

참고
> 특정 필드의 범위를 넘어서는 검증(가격 * 수량의 합은 10,000원 이상) 기능이 빠졌는데,
   이 부분은 조금 뒤에 설명한다.

 

  • @Valid 나 @Validated 애노테이션이 빠져있으면 적용되지 않는다.
사실상, 앞에 했던 그 수많은 고생들은
지금을 위한 포석이었다고 생각해도 무방하다!

 

주의!

직접 글로벌 Validator를 직접 등록하면

스프링 부트는 Bean Validator를 글로벌 Validator로 등록하지 않는다. 

따라서 애노테이션 기반의 빈 검증기가 동작하지 않는다.

 


 

 

 

즉, 값이 안 들어왔는데 검증하는 게 무슨 의미가 있니!

 

예시

 

728x90

'Spring > Validation' 카테고리의 다른 글

Bean Validation - 오브젝트 오류  (0) 2024.03.03
Bean Validation - 에러 코드  (0) 2024.03.02
Bean Validation - 시작 및 프로젝트 세팅 V3  (1) 2024.03.01
Bean Validation - 소개  (0) 2024.02.29
Validator 분리 (2)  (0) 2024.02.28
Comments