해결된 질문
작성
·
90
0
@PostMapping("/request-body-string-v3")
public HttpEntity<String> requestBodyStringV3(HttpEntity<String> httpEntity,
@RequestHeader MultiValueMap<String, String> headerMap) throws IOException {
String messageBody = httpEntity.getBody();
log.info("messageBody={}", messageBody);
return new ResponseEntity<String>("Hello World", responseHeaders,
HttpStatus.CREATED)
}
교재에 보니, 이렇게 나와있는데 적용을 해봤더니 Hello World가 아니라 제가 h로 입력을 보내면 H로 화면에 출력됩니다.
제대로된 출력이 되지 않는 이유와 responseHeaders를 넣으면 어떻게 사용되는지 궁금합니다.
답변 1
1
안녕하세요. 권정익님, 공식 서포터즈 y2gcoder입니다.
교재의 requestBodyStringV3()을 변형하여 올려주신 것으로 보입니다 🙂
제가 권정익님의 질문을 이해한 바로는
/request-body-string-v3 으로 호출할 때 body에 hello world 를 입력해서 보냈는데 Postman 응답으로 Hello World 가 반환되었다
는 말씀이실까요?
그렇다면 그 현상은 정상입니다. 왜냐하면
return new ResponseEntity<String>("Hello World", responseHeaders,
HttpStatus.CREATED)
를 통해 응답 바디를 "Hello World"로 고정해서 보내주시기 때문입니다!
추가로
responseHeaders를 넣으면 어떻게 사용되는지 궁금합니다.
이 부분은 위에 제시해주신 코드에서는 responseHeaders 객체를 생성해서 반환해준 모습이 보이지 않습니다!
해당 객체는 보통 HTTP 응답에 헤더를 추가해주는 것으로 Postman 등을 통해 직접 응답값을 받으면 확인해보실 수 있습니다 🙂
만약
log.info("messageBody={}", messageBody);
이 부분에서 그러한 현상이 발생하고 있다면
실제 동작하는 전체 프로젝트를 ZIP파일로 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 문제 영역을 실행할 수 있는 방법
2. 문제가 어떻게 나타나는지에 대한 상세한 설명
링크: 공식 서포터즈
링크: 자주하는 질문
감사합니다.