ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HandlerMethodArgumentResolver
    Java & Spring/기본 개념 정리 2021. 7. 13. 12:25
    반응형

    HandlerMethodArgumentResolver

    • 컨트롤러에서 파라미터를 바인딩 해주는 역할
      • 요청 파라미터를 수정하거나 클래스 파라미터를 조작, 공통으로 쓸 파라미터를 바인딩
      • 공통으로 수행할 작업을 수행한 후, Object를 반환해서 코드의 중복을 줄임
    • HandlerMethodArgumentResolver 인터페이스를 구현한 구현체를 WebMvcConfigurer 인터페이스 구현체의 addArgmuentResolver에 등록해서 사용
      • supportsParameter와 resolveArgument 2개의 메서드를 오버라이딩하여 구현
      • supportsParameter
        • boolean 값으로 반환하는 메소드
        • 요청으로 들어온 MethodParameter가 resolveArgument 수행이 필요한 경우 true를, 아니라면 false를 리턴하도록 구현
      • resolveArgument
        • 바인딩할 객체를 조작하는 메소드
        • MethodParameter는 필수 파라미터, 나머지 파라미터들은 선택적
        • 메소드로 전달받은 파라미터 중 NativeWebRequest 타입의 인스턴스를 통해 요청으로 들어온 query parameter를 받아올 수 있음
          • @Override
            public Object resolveArgument(MethodParameter param, ModelAndViewContainer container, NativeWebRequest webRequest, WebDataBinderFactory factory) throws Exception {
                String name = webRequest.getParameter("name");
                ... // logic & return Object
            }

    Reference

    반응형

    'Java & Spring > 기본 개념 정리' 카테고리의 다른 글

    Spring boot actuator  (0) 2021.07.13
    xml 설정과 Java Config 설정  (2) 2021.04.09
    Spring IoC/DI  (0) 2021.01.30

    댓글

Designed by Tistory.