인프런 커뮤니티 질문&답변

최슬아님의 프로필 이미지

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HTTP 메시지 컨버터

HttpEntity의 HttpMessageConverter

해결된 질문

작성

·

39

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예

[질문 내용]
안녕하세요 강사님! 빠르지 않은 나이지만 강사님 강의를 통해 처음 서버개발자의 꿈을 가지고 나날이 배움의 재미로 부여되는 동기와 행복을 느끼며 발전중입니다 진심으로 감사합니다!

HttpMessageConverter 관련 하여 질문드립니다.

HttpEntity를 반환하는 '응답'쪽 질문인데요,

@PostMapping("/request-body-string-v3")
public HttpEntity<String> requestBodyStringV3(HttpEntity<String> httpEntity) {

    String body = httpEntity.getBody();
    log.info("messageBody={}", body);
    return new HttpEntity<>("ok");
}

해당 코드에서는 응답을 하는 과정에서 StringHttpMessageConverter 가 동작된다고 강사님께 배웠습니다.

 

제가 배우기론 객체로 응답할 때는 MappingJackson2HttpMessageConverter가 작동한다고 배웠는데, HttpEntity는 이렇게 적용되는 원리가 궁금합니다! 감사합니다!

답변 2

0

안녕하세요. 최슬아님, 공식 서포터즈 y2gcoder입니다.

간단하게 생각해보면 응답 타입이 HttpEntity<String>으로 문자 타입이기 때문에, StringHttpMessageConverter 가 선택된다고 보시면 좋을 것 같습니다. 이는 @RequestBody, HttpEntity(ResponseEntity) 모두 동일하게 적용되는 내용입니다 🙂

image.pngimage.png

 

 

 

감사합니다.

최슬아님의 프로필 이미지
최슬아
질문자

알기 쉽게 설명해주셔서 정말 감사합니다!! 덕분에 깔끔하게 짚고 넘어갈 수 있었습니다 도움 주셔서 감사합니다

0

안녕하세요, 인프런 AI 인턴입니다. 최슬아 님.

질문해주신 내용에 대해 적절한 기존 답변들을 찾아보았습니다. HttpEntity와 HttpMessageConverter와 관련된 질문을 다룬 게시물들이 있어 아래에 공유드립니다.

유사한 질문 및 답변 링크

  1. RequestBodyStringController - requestBodyStringV3메소드 반환값 질문

    • 이 질문에서는 반환 값이 String일 때 발생하는 에러와 이를 HttpEntity<>로 처리해야 하는 이유에 대해 설명하고 있습니다. 스프링 프레임워크는 반환 값에 따라 적절한 HttpMessageConverter를 사용합니다.
  2. request-body-json-v4 질문 있습니다.

    • HttpEntity를 사용하여 HTTP 메시지를 조회하고 이를 변환하는 과정에 대한 설명이 있습니다. HttpEntity가 HTTP 메시지 바디를 어떻게 객체로 변환하는지에 대한 내용도 포함되어 있습니다.
  3. requestBodyJsonV1에 대한 질문이 있습니다.

    • 여기에서는 requestBodyJsonV1 메소드의 동작에 대한 효율성에 대해 다루며, 문자열로 변환하는 이유 및 필요성에 대해 설명합니다.
  4. 섹션 6. 질문

    • HttpEntity와 관련된 특정 질문으로 응답이 기대한 대로 나오지 않는 경우에 대해 설명하고 있습니다. responseHeaders의 사용법도 간략히 언급되어 있습니다.
  5. requestBodyJson의 HttpMessageConverter 처리에 관하여

    • HTTP 메시지 컨버터와 관련하여 다양한 미디어 타입을 처리하는 방법에 대해 상세히 다룹니다. 코드 예시와 함께 스프링의 동작 방식에 대한 설명이 포함되어 있습니다.

각 링크를 참고하여 HttpMessageConverter와 HttpEntity의 동작 원리에 대해 더 깊이 이해하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.