springframework validator 질문
안녕하세요.
덕분에 많이 배우고 있습니다. validator를 bean으로 등록해서 입력 검증을 구현하셨는게 인상적이네요.
제가 기존에 알고있던 validator를 구현하는 방식은 Validator 인터페이스를 구현한 클래스를 생성한 후 WebMvcConfigurer.getValidator 메소드를 오버라이딩 하는 방법과 controller 클래스에 @InitBinder 에노테이션이 선언된 메소드에서 WebDataBinder.addValidator 호출 하는 방법 두가지를 알고 있습니다.
// global validator 등록
class MvcConfig implement WebMvcConfigure {
@Override
public Validator getValidator() {
return new EventValidator();
}
}
// local validator 등록
@RestController
class EventController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.addValidator(new EventValidator());
}
}
하지만 첫번째 방법의 경우 다른 커맨드 객체를 검증하기 어려운 단점이 있고 두번째 방법은 요청 메소드가 호출될때마다 validator가 매번 생성되는 것으로 알고 있습니다.
혹시 강사님은 custom validation을 구현할때 3가지 방식 중 어떤 방식을 선호하고 왜 선호하는지 알 수 있을까요?
감사합니다.
답변 2
3
보통은 validator가 특정 전역적으로 쓰이기 보다는 특정 도메인 관련해서 쓰이는 경우가 많아서 저는 여기서 보여드린대로 빈으로 등록해서 필요할 곳에서 주입 받아서 직접 쓰거나, 아니면 특정 컨트롤러 내부에서 initBinder를 통해 등록해서 쓰는데요. 가능하면 initBinder에 묶어서 쓰는게 더 편하더라구요. 아무래도 직접 validator를 호출해야 하는 코드도 줄어드니까요.
Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter
0
73
1
junit5 사용하시는 분들
0
87
1
자바 빈 스펙을 준수하는지 체크하는 테스트
0
236
2
REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러
0
242
1
스프링 부트 3버전에서의 실습
0
190
1
java.lang.AssertionError: Status
0
532
2
spring doc 관련 파일 생성 관련 배포 관련 질문 드립니다.
0
287
1
섹션2 201응답받기 부분 테스트 404에러 질문입니다
0
741
1
강의 자료가 404입니다 확인 부탁 드려요!
0
477
1
연동 DB문의
0
358
1
이벤트 Repository강의 중 Event 클래스에 private Integer Id; 위치 질문
0
505
1
(Mac) postgressql 관련하여 port kill 해도 다시 살아나는 경우
0
380
0
maven으로 생성한 docs파일(index.html)에서의 not found 오류 질문
0
621
1
테스트 오류 질문드립니다.
0
512
1
docs 요청값이 반영이 안되네요... (해결)
-1
394
1
psql 적용 후 에러
0
818
2
mvn package 시 다음과 같은 에러가 나시면
0
765
2
Event에 Account manager를 추가했으면 문서화 필요
0
274
1
2년 훨씬 전 부터 Restlet-> Talend API 로 바뀌었습니다~
1
473
1
asciidoc 추가 스니펫 에러 해결법
0
400
1
_links 는 현재 fieldWithPath 를 해주지 않아도 됩니다.
0
424
3
깃랩 처음 사용자를 위한 index.adoc raw 보는 법
0
332
1
eclipse 쓰시는 분을 위한 maven-resources-plugin 팁
0
333
1
부트 + jupiter 인 경우 설정법
0
342
1





