Java8의 LocalDateTime을 Json으로 전송 시 ISO-8601 형식으로 출력하기
Posted by @MHLab, February 28, 2018
Series ofJava
주의
이 문건은 과거 Hexo 블로그 (2018-02-28) 에서 이동된 문서입니다.
시간이 지남에 따라 최신 기술과 다를 수 있으니 주의 바랍니다.
Java8의 LocalDateTime을 Json으로 변환하였더니...
제가 개발하는 프로젝트들은 Java8을 이용하여 개발을 하고 있습니다.
그 중 Java8의 Date 클래스를 보완하기 위해 나온 것이 Java8의 LocalDateTime입니다.
그런데 이 LocalDateTime을 Spring-Boot에서 Json 형식으로 호출할 경우 아래와 같이 Json을 만들게 됩니다.
위 사진에서 joinDate라는 값을 보면 날짜 정보가 상세하게 등록되어 있는 것을 확인할 수 있습니다.
하지만 요즘은 ISO-8601(한국위키)의 양식에 맞춰서 사용합니다.
위 사진처럼 결과를 나오게 하는 방법을 알아보겠습니다.
예제 환경은 아래와 같습니다.
Spring Boot 1.5.8.RELEASE Gradle 환경
1. build.gradle에 의존성 추가
아래의 의존성을 작성합니다.
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.4"
해당 라이브러리는 LocalDateTime 및 LocalDate 등의 날짜, 시간 관련 객체를 인식할 수 있도록 해주는 Jackson 라이브러리 입니다.
이것만 추가한 후 gradle을 동기화 해주면 끝입니다.