Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- java
- 정보처리기사
- 정보처리기사필기
- spring
- PULL방식아키텍쳐
- CICD
- 완전탐색알고리즘
- API
- 롬복사용시주의할점
- 롬복
- 정처기공부
- 정처기
- 빌드스크립트
- Docker
- 자바
- Java8
- git
- 무중단배포
- aws
- 생성자
- 알고리즘
- 서버
- 정처기필기
- 빌드자동화도구
- 시계열디비
- 프로그래머스
- 롬북
- Groovy문법
- controller
- 어노테이션
Archives
- Today
- Total
우당탕탕 개발일지
[Java] Java 8 이후 LocalDateTime 직렬화, 역직렬화 오류 해결 본문
💢 문제 발생
LocalDateTime 타입의 값이 들어있는 객체를 테스트 코드에서 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
// ...
이 경우는 Java 8 부터 추가된 LocalDateTime 항목을 제대로 직렬화 or 역직렬화를 못하는 현상이다.
( ObjectMapper는 JSON 형식을 사용할 때, 응답을 직렬화하고 요청들을 역직렬화 할 때 사용하는 기술이다. )
💡 문제 해결
※ gradle / java 17
https://mvnrepository.com/ 에서 ' jackson-datatype-jsr310 ' 검색하여 종속성 추가를 해준다.
테스트 코드 작성 중 objectMapper 함수 사용하는 부분을 가져왔다.
아래의 코드와 같이 .registerModule(new JavaTimeModule()) 를 추가하여 사용한다.
// ...
.content(objectMapper.registerModule(new JavaTimeModule()).writeValueAsBytes(scheduleModifyRequest))
.contentType(MediaType.APPLICATION_JSON))
// ...
'Java' 카테고리의 다른 글
[Java] JVM 개념 및 동작 원리 (0) | 2023.03.31 |
---|---|
[Java] Windows / gitbash 자바 환경변수 설정하여 버전 관리 (0) | 2023.03.07 |
[Java] java8 람다식(Lambda expression)이란? (0) | 2022.11.30 |
[Java] Java8, Optional 이란? (0) | 2022.11.11 |