티스토리 뷰

에러 메세지

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.clone.instagram.domain.user.dto.SignUpRequest` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

com.fasterxml.jackson 라이브러리를 사용하여 JSON 객체를 Java 객체로 변환하다가 생기는 에러

 

 

원인

com.clone.instagram.domain.user.dto.SignUpRequest 클래스

= dto 로 사용하는 class 의 인스턴스를 생성할 수 없다는 것

 

→ 다시 말해, 이 에러는 주로 생성자나 setter가 없어서 발생한다!

 

Jackson 라이브러리는 JSON 객체를 Java 객체로 변환할 때

객체의 생성자나 setter를 사용해서 인스턴스의 필드를 설정하는데

이때, 생성자나 setter 메서드가 없으면, Jackson이 클래스의 인스턴스를 올바르게 생성하고 초기화할 수 없다.

 

 

해결법

해당 클래스에 기본 생성자를 추가하자.

public class SignUpRequest {
    // 기본 생성자 추가
    public SignUpRequest() {}
}

 

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함