본문 바로가기
개발 관련 지식/Spring Framework Basic

요청 메시지 - HttpEntity, @RequestBody

by 권태일1147 2022. 2. 19.

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