-
[Spring] 필드가 1개인 DTO는 기본 생성자가 없을 시 에러가 발생한다.개발 지식/Spring 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
'개발 지식 > Spring' 카테고리의 다른 글
[Spring] Spring REST Docs를 이용한 API 문서화 (1) 2024.01.04 [Spring] build.gradle에 추가하는 라이브러리 공식문서 확인하는 방법 (0) 2023.12.27 [Spring] DTO 클래스에 기본 생성자가 없을 때 발생하는 에러 해결방법 (0) 2023.11.21 [Spring] @RequestBody와 기본 생성자 (1) 2023.11.21 [Spring] 데이터 바인딩(Data Binding)과 이와 관련된 예외 (0) 2023.11.20