-
[Spring] Java 8 LocalDateTime 직렬화/역직렬화 오류 해결Framework/Spring 2023. 5. 30. 23:30
상황
스프링 부트를 사용하다가 ObjectMapper objectMapper = new ObjectMapper(); 방식으로 사용하려고 하였는데 다음과 같은 에러가 발생하였다.
Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling
메세지를 파악하고 구글링 해보니 jackson-datatype-jsr310 모듈을 사용하면 된다는 거 같은데 스프링 부트를 기본적으로 사용하는 경우 ObjectMapper가 자동 빈 주입되는 것으로 아는데 굳이 이걸 해줘야 하나? 라는 생각이 들었다.
그래서 직접 생성이 아닌(new ObjectMapper()) 다음과 같이 lombok을 사용하여 자동 빈 주입 받았더니 손쉽게 해결되었다.
@RequiredArgsConstructor public class CustomAuthenticationSuccessHandler implements AuthenticationSuccessHandler { private final ObjectMapper objectMapper; ... }
스프링 부트에는 내장으로 포함되어 있으니 build.gradle에 implementation하는 방식보다는 가급적 이런 방식으로 사용하는 것이 좋은 것 같다.
'Framework > Spring' 카테고리의 다른 글
[Spring] Querydsl select null 처리 (0) 2023.03.17 [Spring] Test 코드에서 @Slf4j 사용하기 (0) 2022.05.03 [Spring] Domain time mapping (0) 2022.04.25 [Spring] request에서 enum으로 값 전달받기 (0) 2022.03.15 [Spring] Querydsl 동적 쿼리 (0) 2022.03.04