메싱
332
2021-10-12 21:52:22 작성 2021-10-12 21:54:44 수정됨
2
117

@ModelAttribute 받을떄 null 나오는 이유?


클라이언트 측에서 Content-Type  application/json 형태로 보내고 있는데요.

@RequestBody 받으면 정상적으로 데이터 받고
@ModelAttribute 받으면 null 찍히는데요.
/receiveTest?id=1234 주소에 파라미터 보내면 정상적으로 찍히고 body에 담긴 값이 매핑이
안되는것 같아보이네요ㅠ


어느 부붑을 확인해봐야할까요?

정상

  @RequestMapping(value = "/receiveTest", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public String receiveTest(@RequestBody Test test) {
System.out.println("getId: " + test.getId());
return "200";
}

 NULL

    @RequestMapping(value = "/receiveTest", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public String receiveTest(@ModelAttribute("test") Test test) {
System.out.println("getId: " + test.getId());
return "200";
}
0
  • 답변 2

  • Mambo
    6k
    2021-10-12 22:01:04
  • iMac 0
    456
    2021-10-13 09:31:37

    윗 링크를 읽어보고 요약해드리자면

    질문자님의 경우는 application/Json으로 데이터를 보내는데 @ModelAttribute는 form 형식의 데이터를 받는 어노테이션이랍니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.