프로그래밍/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
다른 방법도 있지만 이는 복잡한 어노테이션을 써야 하니 그냥 앞서 말했던 방법을 지향하자.