티스토리 뷰
코드 수정 작업 계속
코드 제거
기존에 등록한 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