개발/Spring
[ 오류데이터 ] Java 8 LocalDateTime 직렬화/역직렬화 문제
leecrossun
2021. 8. 7. 22:36
Java 8 LocalDateTime 직렬화/역직렬화 문제
1. 오류 메시지
Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" |
LocalDateTime 필드를 ObejctMapper 함수를 써서 가져올 경우 Java 8에서 추가된 LocalDateTime 항목을 제대로 직렬화 또는 역직렬화를 못하는 현상
2. 해결
1. jackson버전을 2.9.4로 낮추는 방법 (이 방법으로는 하지 않았다)
💡 2. jackson버전을 최신버전 (2.12.4) 로 유지한 채 add Module 하기 (현재 버전을 유지하고 싶어 이걸로 해결)
🔻 build.gradle
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.4'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
위와 같이 프로젝트의 jackson.core 버전이 2.12.4 이므로
(1) 에러메시지의 충고를 따라서 jackson-datatype-jsr310 을 추가해주었다.
(2) 그리고 번거롭지만 ObejctMapper 객체를 생성하는 부분마다 registerModule을 해주어야 한다.
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
(참고) Maven 프로젝트의 경우 아래 게시글을 참고하면 된다.
https://codingexplore.tistory.com/83
[ 의문점 데이터 ] Maven to Gradle : Maven Dependency 설정 Gradle로 옮기기
Maven to Gradle Maven dependency 설정 Gradle로 옮기기 (groupId, artifactId, version 관련) 📌 Maven으로 프로젝트를 해와서 그런지 gradle 설정이 익숙하지 않아서 정리해둔다 🔻 Maven 설정파일 Maven 프로..
codingexplore.tistory.com
반응형