Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 서비스 디스커버리
- 다익스트라
- 이분 탐색
- 구간 트리
- dp
- spring cloud
- 백트래킹
- Zuul
- 트리
- spring boot
- 주울
- 도커
- BFS
- 스택
- Spring Cloud Config
- Gradle
- docker-compose
- 플로이드 와샬
- 비트마스킹
- 달팽이
- 이분 매칭
- 구현
- 스프링 시큐리티
- 메모이제이션
- 유레카
- 완전 탐색
- Java
- Logback
- ZuulFilter
- 게이트웨이
Archives
- Today
- Total
Hello, Freakin world!
[Spring boot] Validation 고찰 본문
validation 이라는 주제로 이렇게 시간을 오래 끌줄은 몰랐다.
순전히 개인적인 욕심 때문이기도 하다.
목표는 컨트롤러 메서드에서 validation 코드를 분리하는 것이었다.
처음에는 @InitBinder 메서드를 이용하는 방법을 생각했다.
@InitBinder 메서드는 context로부터 WebDataBinder 인스턴스를 주입받을 수 있다.
이 인스턴스에 validator를 추가할 수 있는데, 뭔가 이상했다.(혹시 버그가 있는걸까?)
validator가 호출되지 않아야하는 타입에서 자꾸 호출되면서 예외를 던졌다.(단위 테스트에서는 분명히 제대로 작동하는데도!)
자질구레한 버그들이 자꾸 생겨서 일단 이 방식은 쓰지 않기로 했다.
위 방식을 쓰지 않겠다는 말은 컨트롤러 메서드의 본문이 시작되기 이전의 시점에 validation을 포기하겠다는 말이다.
그러면 결국 목표를 이루기 위해서는 validation 시점을 변경해야 한다.
결국 컨트롤러 코드와 검증 코드를 분리하려면 바인딩 객체를 서비스에서 이용하는 시점에 AOP를 이용해서 검증할 수 밖에 없다고 보는데. 지금은 AOP에 대한 학습이 부족하므로 학습부터 할 것.
'Spring boot' 카테고리의 다른 글
[Spring AOP] Aspect 선언하기 (0) | 2020.07.18 |
---|---|
[Spring AOP] @AspectJ 사용 설정하기 (0) | 2020.07.18 |
[Spring boot] AOP 용어 정리 (0) | 2020.07.16 |
[Spring boot] Validation 후, AOP 이용해서 예외처리 하기 (0) | 2020.07.14 |
@RestControllerAdvice 를 이용해서 예외 처리하기 (0) | 2020.07.12 |
Comments