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

chlghksdyd31님의 프로필 이미지

작성한 질문수

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

HTTP 응답 - HTTP API, 메시지 바디에 직접 입력

@ResponseBody 어노테이션을 쓰는 메소드와 안 쓰는 메소드 차이가 궁금합니다.

해결된 질문

작성

·

397

·

수정됨

0

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

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

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

[질문 내용]
안녕하세요 강의를 듣다가 헷갈리는 부분이 있어서 질문 드립니다. @ResponseBody를 메소드에 붙이고 안 붙히는 기준이 궁금합니다.

 

일단 제가 이해한 @ResponseBody는 뷰를 따로 사용하지 않고 HTTP 응답 본문에 메소드가 리턴한 정보(원시 데이터 또는 객체=json)를 입력해서 응답하는 것으로 이해했습니다.

 

근데 아래 사진의 빨간 밑줄 친 메서드들을 보면 뷰의 논리적 이름이 아닌 ResponseEntity 객체를 리턴하는 것으로 보여지고 객체를 리턴하면 HTTP 응답 본문에 입력하려면 @ResponseBody 어노테이션이 필요한 것이 아닌가 궁금합니다.

질문.png

그런데 ResponseEntity의 코드를 보니까 HttpEntity를 상속 받던데 ResponseEntity가 HTTP 응답 그 자체라서 @ResponseBody를 사용하지 않는 것인가요?

답변 주시면 정말 감사하겠습니다.

답변 3

0

chlghksdyd31님의 프로필 이미지
chlghksdyd31
질문자

답변 감사합니다!

0

안녕하세요. chlghksdyd31님, 공식 서포터즈 OMG입니다. 

AI 답변 링크의 영한님의 답변을 참고해주세요 🙂

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

chlghksdyd31님께서 질문하신 @ResponseBody 어노테이션의 사용 기준과 ResponseEntity 객체에 대한 의문점에 관한 답변을 찾을 수 있습니다.

해당 내용에 대해서는 이미 다른 수강생의 질문에서 강사님이 자세하게 답변해주신 내용이 있습니다. ResponseEntity 반환 메소드에서 @RestController를 사용하는 이유를 설명하는 과정에서 자동으로 @ResponseBody가 적용되는 상황에 대해 설명하고 있으니 참고하시면 도움이 될 것 같습니다.

관련 질문 내용과 답변을 보시려면 아래 링크를 참조해 주세요.

감사합니다.