인프런 커뮤니티 질문&답변

InJun Choi님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

Validator 사용 범위 질문드립니다.

작성

·

1.5K

0

안녕하세요. 좋은 강의 감사하고, 스프링 부트 강의도 기대하고 있습니다.

실제 프로젝트를 진행하니 Bean Validator는 잘 사용하는데, Spring Validator는 어떤 느낌으로 사용해야 하는지 모호하더라구요.

강의에서는 검증( validate(Object target, Errors erros) ) 메서드 호출 시 전달되는 target의 데이터만 대상으로 검증을 진행하셨는데, 회원가입 시 닉네임 중복 체크처럼 DB와 연계되는 부분도 Validator에서 처리해도 별다른 문제가 없을까요?

Validator에서 검사하는 게 맞는지도 잘 모르겠습니다. 제 경우 서비스에서 닉네임, 이메일 중복을 검사하는데, 어떤 분의 프로젝트를 보니 Validator에서 처리하더라구요.

그리고 검증이 리포지토리의 existsBy~ 쿼리로 간단하게 확인되면 괜찮지만, Validator에서 엔티티를 조회해 사용하고, 서비스에서도 동일한 엔티티를 사용해야 하는 경우 조회 쿼리를 2번씩 실행하게 된다거나..

Validator가 검증하는 영역과 서비스가 검증하는 영역을 어떻게 구분해야 할까요?

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. InJun Choi님

이 부분은 딱 정답이 없습니다.

간단하게 컨트롤러 레벨에서만 사용해도 되고, 서비스 계층에서 사용하셔도 됩니다.

감사합니다.