1. Argument Resolver 소개
- Spring MVC의 Argument Resolver는 컨트롤러 메서드의 파라미터를 어떻게 처리하고 바인딩할지 결정하는 핵심 메커니즘입니다.
- 정식 이름은
HandlerMethodArgumentResolver로, 컨트롤러 메서드(핸들러)가 호출될 때 메서드의 파라미터 값을 결정하는 역할을 담당합니다.
- 이 인터페이스는 HTTP 요청에서 데이터를 추출하여 컨트롤러 메서드의 파라미터로 변환하는 과정을 처리합니다.
1.1 주요 역할
- HTTP 요청의 여러 부분(경로 변수, 쿼리 파라미터, 헤더, 쿠키, 세션, 요청 본문 등)에서 데이터를 추출합니다.
- 추출한 데이터를 컨트롤러 메서드 파라미터의 타입에 맞게 변환합니다.
- 어노테이션을 기반으로 특정 파라미터에 값을 주입하는 방법을 결정합니다.
2. HandlerMethodArgumentResolver 인터페이스
HandlerMethodArgumentResolver 인터페이스는 두 개의 핵심 메서드로 구성됩니다.
2.1 인터페이스 구조