Controller [com.sample.controller.SomeController] Method [public com.sample.SomeObject com.sample.controller.SomeController.page(public com.sample.SomeObject)] with argument values: [0] [type=org.springframework.validation.support.BindingAwareModelMap] [value={}] ] with root cause java.lang.IllegalArgumentException: argument type mismatch at java.base/jdk.internal.reflect.NativeMethodAccessorImp..
Spring을 사용하면서 ArgumentResolver라는것을 한번은 들어봤을 것이다. 이것은 Servlet 과 Controller 사이에서 전달되어진 값을 가공하거나 추가할 필요가 있을때 사용한다. AOP와 같이 중복 코드를 제거하는데 큰 의미를 가지고 있는것 같다. 일반 개발자라면 많이 다룰일이 없을듯하고 공통을 잡는 사람들이 주로 다루는 내용들이다. 그럼 간단히 Custom ArgumentResolver를 만드는 방법에 대해서 알아보자. 샘플을 구현할때 대략적인 시나리오는 여기저기 많이 사용되는 사용자에 대한 정보를 ArgumentResolver를 통해서 생성하는 것이다. 물론 이런 정보는 HttpServletRequest를 통해서 가지고 올 수 있지만 위에서 언급한대로 중복된 소스를 줄인다는것에 ..