개발 지식/Spring
[Spring] 필드가 1개인 DTO는 기본 생성자가 없을 시 에러가 발생한다.
서하빈
2023. 12. 27. 09:46
- 필드가 2개 이상인 경우에는 Getter와 Builder 애너테이션만 붙여도 정상적으로 동작하지만 1개인 경우에는 json을 자바 객체로 매핑하는 deserialize(역직렬화)를 할 수 없다는 에러가 발생한다.
해결 방법
1. @JsonCreator을 생성자에 붙인다.
2. @Jacksonized을 빌더와 같이 사용(필드를 포함한 생성자와 사용 가능)
3. 기본 생성자 사용
참고 자료
필드가 1개인 DTO를 Jackson - Deserialize 할 시 문제점
간단한 프로젝트의 API를 만들 때에는 아래와 같은 Controller를 만들고는 했다.그런데 우연찮게 알게 된 것인데 시그니처의 매개변수로 받는 위와 같은 필드가 1개인 DTO에서 AbstractJackson2HttpMessageCon
velog.io