Spring Framework/SpringBoot

[springboot]cannot deserialize from Object value (no delegate- or property-based Creator) 에러 발생

Razelo 2022. 4. 7. 16:45

스프링 부트로 만든 어플리케이션을 테스트하던 도중에

 

cannot deserialize from Object value (no delegate- or property-based Creator) 라는 에러를 만났다. 

 

api 를 호출하면서 어떤 Dto를 전달해주는데 그 사이에서 형식이 맞지 않았던 혹은 전달이 잘못되었든 어딘가에 문제가 생겼을 것이라고 추측하였다. 

 

해결방법은 아주 간단하다. 아래는 내가 api로 전달하고자 했던 Dto 이다. (해결한 모습이다.)

위와 같이 Dto를 선언해줌으로써 해결할 수 있었다.

원래 해결되기 이전에는 @NoArgsConstructor 어노테이션이 없었다. 왜 이 어노테이션이 없으면 에러가 발생할까? 

 jackson library가 빈 생성자가 없는 모델을 생성할 줄 모르기 때문이라고 한다. 그렇기 때문에 @NoArgsConstructor 를 선언해줌으로써 해결할 수 있었다. 

 

혹시 쓸 일이 있을 것 같아서 @AllArgsConstructor 도 선언해주었다. <- 이 부분은 선택이다. 

 

아래 블로그에서 도움을 받았다. 감사합니다. 

https://azurealstn.tistory.com/74

 

cannot deserialize from object value 에러!

cannot deserialize from object value (no delegate- or property-based creator) 위와 같은 에러가 발생했다면 아래글을 한번 확인해보자. Member Class 먼저 데이터를 담을 모델을 정의하였습니다. //Getter, S..

azurealstn.tistory.com

https://eeyatho.tistory.com/5

 

Server ) Could not read JSON: Cannot construct instance of XXXDto, XXXResponse 오류 해결 - EEYatHo iOS

( 오류 메세지 ) ErrorMessage : Could not read JSON: Cannot construct instance of 'XXXResponse' (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or pro..

eeyatho.tistory.com

 

 

 

반응형