개발자
리엑트에서 {userId : id} 이렇게 보내는데 컨트롤에서 Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type int from String "[object Object]": not a valid int value] 에러가 발생합니다. User VO로 맴버필드도 int 타입으로 선언되어있는데 파싱에러가발생... @RequestBody User user 로빼고 있는데 이유가 뭘까요?.. 예전에도 비슷한 문제가 있었던거 같은데 검색해도 못찾겟습니다 ㅠㅠ 알려주세요 ㅠ
답변 2
인기 답변
안녕하세요! 이게 무슨 에러인지 궁금하시다면 먼저 에러 로그를 한번 자세히 읽어보시기 바랍니다. 읽어보시면 거기에 발생하신 에러에 대한 힌트가 들어있거든요. 질문에 첨부해주신 에러 로그를 보면 JSON parse error: Cannot deserialize value of type int from String "[object Object]": not a valid int value] 위와 같은 에러가 있는데요, 이를 해석해보시면 "[object Object]" 란 String 을 int 로 변환할 수 없다. 들어온 요청의 파라미터 타입이 int 가 아니다 라는 사실을 확인할 수 있습니다. 즉, 질문자님께서 리액트에서 {"userId": id} 이란 json 포맷으로 요청을 보냈다고 생각하셨겠지만 실제로는 {"userId":"[object Object]"} 이란 String 값으로 요청을 한것으로 판단됩니다. 아마도 리액트 단에서 파라미터를 넘겨주는 과정에서 뭔가 실수가 있었던거 같은데요 이부분을 잘 확인해보시면 되지 않을까 싶습니다. 저의 짧은 의견이 부디 조금이나마 도움이 되셨길 바라겠습니다.
삭제된 사용자
2024년 01월 29일
User 클래스에 기본 생성자 추가해보세요
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!