메세지 컨버터는 어떻게 동작할까 - 2
@RequestBody
이렇게 등록된 메세지 컨버터들은 요청 본문이 있을 때 RequestResponseBodyMethodProcessor.class의 resolveArgument에 의해 변환되게 됩니다. 콜스택을 타고 들어가면 AbstractMessageConverterMethodArgumentResolver에 등록된 메세지 컨버터들을 순회하며 canRead 메소드를 통해 해당 요청의 본문을 읽을 수 컨버터가 있다면, 해당 컨버터로 변환을 수행합니다. canRead 메소드는 변환할 컨트롤러의 @RequestBody 어노테이션이 붙은 파라미터 타입과 요청의 content-type를 통해 변환 가능 여부를 판단합니다. 적절한 컨버터를 찾지 못했다면 null이나 HttpMediaTypeNotSupportedException을 던지게 됩니다.