프로그래밍/A music in a balloon

# 15 com.fasterxml.jackson.databind.exc.InvalidDefinitionException를 만나다.

2jun0 2024. 7. 9. 23:52

 

음악 응답 스키마에 공통 필드가 있는 MusicResponse를 추상 클래스로 만들고  YoutubeMusicResponse, SpotifyMusicResponse를 만들던 중,
com.fasterxml.jackson.databind.exc.InvalidDefinitionException 라는 오류를 만났다.

 

오류는 대략 다음과 같다.

Cannot construct instance of `com.musicinaballoon.music.application.response.YoutubeMusicResponse` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

인스턴스를 생성할 수 없다고 하며 like default constructor 라고 하는걸 보면 기본 생성자가 없기 때문인 것 같다.

이놈도 아마 JPA가 엔티티를 역직렬화(맞는 표현인가?) 하는 것 처럼 기본 생성자에 필드에 final을 달면 안되는 것 같다.

 

더 자세히 알고 싶다면 이글이 아마 도움이 될거다.

https://green-bin.tistory.com/80

 

다른 방법도 있지만 이는 복잡한 어노테이션을 써야 하니 그냥 앞서 말했던 방법을 지향하자.