HttpEntity, @RequestBody @ResponseBody 가 있다.
HttpEntity는 요청 헤더와 바디를 직접 조회할 수 있다.
@PostMapping("/request-body-string")
public HttpEntity<String> requestBody(HttpEntity<String> httpEntity) throws IOException {
String messageBody = httpEntity.getBody();
log.info("messageBody = {}", messageBody);
return new HttpEntity<>("ok");
}
@RequestBody : HTTP 메시지 바디를 직접 조회
@ResponseBody : 응답 결과를 HTTP 메시지 바디에 직접 담아서 전달할 수 있다. 물론 view를 사용하지 않는다.
@ResponseBody
@PostMapping("/request-body-string-v4")
public String requestBodyStringV4(@RequestBody String messageBody) throws IOException {
log.info("messageBody = {}", messageBody);
return "ok";
}
HttpEntity, @RequestBody를 사용하면 HTTP 메시지 컨버터가 메시지 바디의 내용을 문자나 객체(HTTP 헤더의 Content-Type을 보고) 등으로 변환해준다.
@RequestBody는 생략이 불가능하다. 생략하면 @ModelAttribute가 자동으로 사용되면서 요청 파라미터로 받는다.
'개발 관련 지식 > Spring Framework Basic' 카테고리의 다른 글
Security - LogoutFilter (0) | 2022.03.29 |
---|---|
Security - Login Form 인증 (0) | 2022.03.29 |
요청 파라미터 - @RequestParam, @ModelAttribute (0) | 2022.02.19 |
@Autowired (0) | 2020.05.26 |
MyBatis (0) | 2020.05.05 |