java 통신 시 기본 MIME 타입은 x-www-urlencoded
근데 만약 이 타입이 아닌 다른 타입의 데이터가 들어오면?
(POST 요청오면 body에 여러 타입 들어올 수 있는거 RG?)
자바가 parsing 못하게쬬?
그러면 어떡해야돼 BufferedReader 로 데이터를 통째로 읽어들여야되지?
그래서 우리가 parsing 일일히 해가지고 써줘야되지?
그걸 도와주는게 @RequestBody
// POST : <http://localhost:8080/user>
// BODY : x-www-form-urlencoded (key=value) -> 자바의 기본 MIME 타입
// BODY : json ({"key" : "value"}) -> 그래서 이런 형식의 데이터가 오면 파싱 못. 그래서
// BufferedReader로 읽어준다고
@PostMapping("/user")
public User save(@RequestBody User user) { // BufferedReader로 읽는게 @RequestBody
user.setId(2);
return user;
}
json 타입이 들어오면
save(@RequestBody String data) 이런 식으로 받을 수 있다 ← row data
근데 spring 이
BufferedReader 로 받은 이 데이터를 자바 오브젝트로 파싱해서 받아준다
(@RequestBody User user)
따라서 이렇게 쓰면 스프링이 데이터를 파싱해서 넣어준다구