Spring Boot

[Spring] HTTP 요청에서 값 받아오기 - @RequestBody

HEY__ 2022. 8. 8. 13:01
728x90

이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!

⛅️ @RequestBody를 사용하는 때

HTTP message body를 통해 전달되는 데이터를 받고 싶을 때 

  • @RequestParam, @ModelAttribute는 GET 요청 파라미터, HTML Form 전달에서만 사용할 수 있다.
  • HTTP message body를 통해 전달되는 데이터를 받을 때에는 @RequestBody를 이용해야 한다.

 


⛅️ @RequestBody의 사용법

message body에 단순 텍스트로 받았을 때

@RequestBody String 변수명
  • @RequestBody를 통해 변수에 message body의 내의 단순 텍스트를 받아 저장할 수 있다.
@ResponseBody
@PostMapping("/request-body-string")
public String requestBodyString(@RequestBody String messageBody) {
	log.info("messageBody={}", messageBody);
	return "ok";
}

 

 

 

message body에 JSON으로 받았을 때

@RequestBody 클래스명 변수명
  • Post를 통해 message body에 들어온 JSON 형식의 데이터를 @RequestBody를 통해 받을 수 있다.
  • JSON 형식에 맞는 객체(MemberData)에 데이터를 담을 수 있다.
@ResponseBody
@PostMapping("/request-body-json")
public String requestBodyJson(@RequestBody MemberData data) {
	log.info("username={}, age={}", data.getUsername(), data.getAge());
	return "ok";
}

 

 

 

 

728x90