클라이언트 -> 서버로 요청 데이터를 전달하는 세가지 방법
① 쿼리 파라미터 (GET)
② HTML Form (POST)
③ HTTP 메시지 바디
1) request.getParameter()
2) @RequestParam
public String requestParam (@RequestParam("username") String memberName)
3) @ModelAttribute
🔎 @RequestParam vs @ModelAttribute
String, int 같은 단순 타입 : @RequestParam
그 외(argument resolver로 지정된 타입 외) : @ModelAttribute
1) UnoytStream
ServletInputStream inputStream = request.getInputStream();
String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
2) HttpEntity
3) RequestEntity
4) RequestBody
InputStream, @RequestBody : Object Mapper
HttpEntity, @RequestBody : Http 메시지 컨버터가 자동 변환
요청 파라미터 조회 : @RequestParam , @ModelAttribute
메시지 바디 조회 : @RequestBody