안녕하세요 선생님 강의에 도움을 많이 받고 있습니다!
다름이 아니라 반복되는 로직들을 HandlerMethodArgumentResolver 를 통해서 처리한 것에 대해서 궁금증이 하나 생겼는데요.
해당 RequestHeader 에서 값을 검증하거나, 변환하는 기능을 HandlerMethodArgumentResolver 외에도 유틸 메서드로도 동일한 처리가 가능할 것 같은데 HandlerMethodArgumentResolver 를 사용하신 이유에 대해서 알 수 있을까요?
어떠한 특정상황에서 사용하는 것인가? 하는 궁금증이 있어서 여쭤보게되었습니다. 감사합니다!
HandlerMethodArgumentResolver 를 사용하신 이유에 대해서 궁금합니다.
최종민
작성일
24.05.23 16:03
조회수
170
댓글 1
안녕하셍 종민님!
유틸 메소드로 처리한다면 컨트롤러에서 HttpServletRequest를 파라미터로 받은다음에 MemberInfoDto로 변환하는 유틸메소드를 호출할 수도 있을 것 입니다.
이렇게되면 컨트롤러에서 HttpServletRequest에 대해서 직접적으로 의존하게되므로 서블릿 기술에 의존하게 되기 때문에 좋은 방법은 아닙니다. 또한 모든 컨트롤러에서 유틸 메소드를 호출해야하는데 추가적인 로직 처리가 필요할 경우 유틸메소드를 호출하고있는 모든 소스코드를 수정해야할 수도 있습니다.
HandlerMethodArgumentResolver를 사용하면 컨트롤러에서 손쉽게 현재 요청한 회원의 정보를 파라미터로 받아올 수 있습니다. 주로 현재 로그인한 회원의 정보를 파라미터로 받아오거나할 때 사용을 한다고 봐주시면 됩니다.
답글