목록 보기
올해에는 DTO에 @Jacksonized 하나 놓아 드려야겠어요
백엔드

올해에는 DTO에 @Jacksonized 하나 놓아 드려야겠어요

여기어때
여기어때
2025년 8월 7일

두줄요약

Lombok `@Builder`와 Jackson을 함께 사용할 때 단일 필드 DTO에서 역직렬화 오류가 발생하는 원인을 설명했습니다. `@Jacksonized`를 사용하면 빌더 기반 역직렬화를 명시적으로 활성화할 수 있습니다.

핵심 내용

  • Lombok @Builder와 Jackson 역직렬화를 함께 쓸 때 단일 필드 DTO에서 JSON 객체가 역직렬화되지 않는 문제 정리
  • 원인으로 Jackson의 단일 파라미터 생성자 처리 방식과 Lombok의 package-private all-args 생성자 동작 차이 설명
  • 해결책으로 @Jacksonized 추가를 권장하고, 대안으로 @NoArgsConstructor + @AllArgsConstructor 또는 수동 @JsonCreator 제시
  • @Jacksonized는 컴파일 타임에 @JsonDeserialize@JsonPOJOBuilder를 생성해 런타임 영향 없이 동작

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...