14편에서는 HandlerAdapter가 HandlerMapping이 선택한 컨트롤러를 실제로 실행하기 위한 “실행 전략”이라는 점을 살펴봤습니다.이번 글에서는 컨트롤러 실행 과정에서 가장 많은 개발자가 궁금해하는 질문을 다뤄보겠습니다.@RequestParam, @PathVariable, @RequestBody 같은 값들은 도대체 언제, 어디서 만들어질까? 이 질문에 대한 답이 바로 ArgumentResolver입니다.1. ArgumentResolver의 역할ArgumentResolver의 공식적인 이름은HandlerMethodArgumentResolver 입니다.이 인터페이스의 역할은 단순합니다.컨트롤러 메서드의 파라미터 하나를 실제 값으로 변환해주는 역할 즉, 컨트롤러 메서드의 각 파라미터마다이 파라..