티스토리 뷰

반응형

DTO 를 Redis 에 넣어 호출하려는 와중 다음과 같은 에러가 발생하였습니다. 

org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Cannot construct instance of `java.time.LocalDateTime` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

 

찾아보니 이 방법은 Java의 Jackson Mapper의 버전와 관련된 문제여서 이전의 경우 Serialize를 하지 못해 발생하는 문제였습니다. 그래서 무작정 Jackson 버전을 올리면 관련 Dependency의 위험부담이 있어 jackson-datatype-jsr310 라이브러리를 pom.xml 또는 build.gradle 파일에 추가하였습니다. 

https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.0

 

그리고 DTO 클래스의 LocalDateTime 타입을 사용하는 변수 위에 아래와 같이 어노테이션 매핑을 해줍니다.

@JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime createAt;

 

반응형
댓글
공지사항