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