[Spring] 메세지 컨버터는 어떻게 동작할까 2

메세지 컨버터는 어떻게 동작할까 - 2

@RequestBody

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

Reference

메세지 컨버터는 어떻게 동작할까 1

메세지 컨버터는 어떻게 동작할까 3

메세지 컨버터는 어떻게 동작할까 4

Author: Song Hayoung
Link: https://songhayoung.github.io/2021/06/23/Spring/spring-message-converter-2/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.