반응형

json 2

4편. ArgumentResolver와 HttpMessageConverter - 파라미터는 어떻게 주입되는가?

Spring Web MVC의 Controller 메서드를 보면, 요청 데이터가 별다른 코드 없이도 메서드 파라미터로 자연스럽게 전달되는 것처럼 보인다.@PathVariable, @RequestParam, @RequestBody 같은 어노테이션이 자동으로 동작하는 이유는, Spring Web 내부에서 ArgumentResolver와 HttpMessageConverter가 역할을 나누어 처리하기 때문이다.이 글에서는 요청 데이터가 Controller 메서드의 파라미터로 변환되는 전체 과정을 두 컴포넌트 중심으로 정리한다.1. Controller 메서드 파라미터는 누가 채우는가?HandlerAdapter가 Controller를 실행할 때, 가장 먼저 해결해야 할 문제는 다음이다.이 메서드의 파라미터들은 어디서..

[Spring 공식문서 정리] 16. HttpMessageConverter – JSON은 언제 변환될까?

15편에서는 ArgumentResolver가 컨트롤러 메서드의 파라미터를 어떻게 만들어주는지를 살펴봤습니다.그 과정에서 특히 눈에 띄는 파라미터가 하나 있었습니다.@RequestBody는 다른 파라미터들과 뭔가 다르게 동작한다이번 글에서는 그 “다른 동작”의 정체, 즉 HttpMessageConverter가 언제, 어디서, 왜 호출되는지를 구조적으로 정리해보겠습니다.1. HttpMessageConverter의 역할HttpMessageConverter는 한 문장으로 정의할 수 있습니다.HTTP 메시지 바디와 Java 객체 사이의 변환을 담당하는 컴포넌트즉,요청 본문(JSON → 객체)응답 본문(객체 → JSON)을 처리하는 책임을 가집니다.중요한 점은,HttpMessageConverter는 컨트롤러의 책임..

반응형