Springboot 이해하기 - @RequestBody 처리

Kim Hyewon·2024년 11월 13일
0

@RequestBody

@RequestBody는 Spring MVC에서 HTTP 요청의 본문(body)을 Java 객체로 변환해주는 어노테이션입니다. 클라이언트가 JSON 형식으로 데이터를 보내면, Spring은 이를 자동으로 Java 객체로 변환합니다.

리플렉션을 통한 객체 처리 과정

  1. HTTP 요청 수신
  • 클라이언트가 JSON 데이터를 포함한 HTTP 요청을 서버로 전달.
  1. 메서드 매핑
  • Spring MVC는 해당 요청을 처리할 @RequestBody 어노테이션이 붙은 컨트롤러 메서드를 찾습니다.
  1. MappingJacksonHttpMessageConverter 호출
  • Spring은 MappingJacksonHttpMessageConverter를 사용하여 JSON 데이터를 객체로 변환(역직렬화)합니다.
  1. 리플렉션을 통해 메서드의 매개변수 처리
  • @RequestBody 가 붙은 매개변수의 타입을 리플랙션을 통해 알아냅니다.
    이 정보를 바탕으로 적절한 객체를 생성하거나, 필요한 필드를 설정할 수 있습니다.
  1. Jackson의 ObjectMapper 사용
  • ObjectMapper를 사용하여 JSON 문자열을 해당 객체 타입으로 역직렬화합니다.이렇게 생성된 객체는 메서드의 매개변수로 전달됩니다.
  1. 형변환(Casting)
  • 리플렉션을 통해 얻은 객체는 일반적으로 Object 타입이므로, 실제 사용하려는 타입으로 형변환을 해야 합니다.
profile
볼일 없는 상태에서 별볼일 있는 블로그로 키우는 중입니다.

0개의 댓글

관련 채용 정보