728x90
반응형
Java8 Jackson ObjectMapper 직렬화 시
LocalDate 타입을 timestamps Format에서 dates Format으로 변경하는 방법
*자세한 설명 생략
*직렬화(Serialization) : Java Object → JSON String
*역직렬화(Deserialization) : JSON String → Java Object
▷ 변경 전
*timestamps Format(Jackson 기본 형식)
{
"visitDates": {
"year": 2023,
"month": "NOVEMBER",
"monthValue": 11,
"dayOfMonth": 23,
"leapYear": false,
"dayOfWeek": "THURSDAY",
"dayOfYear": 327,
"era": "CE",
"chronology": {
"id": "ISO",
"calendarType": "iso8601"
}
},
"visitTimes": {
"hour": 0,
"minute": 0,
"second": 0,
"nano": 0
}
}
▷ 변경 후
*dates Format
{
"visitDates": "2023-11-23",
"visitTimes": "00:00:00"
}
▷ LocalDate Jackson Data Format 변경
*ObjectMapper 모듈 등록
*WRITE_DATES_AS_TIMESTAMPS 설정 끄기
*아래와 같은 상황에서 발생했을 문제
/**
*
* Object to String
*
* @param Object
* @return String
*/
public static String getObjStr(Object obj) {
String result = "";
try {
result = new ObjectMapper()
.registerModule(new JavaTimeModule())
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.writeValueAsString(obj);
} catch (Exception e) {
CmmUtil.errLogStamp("", e);
return result = "";
}
return result;
}
*application.peoperties에서도 설정 가능
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
▷ 참고
[SpringFramework] RESTful방식의 @RestController 와 @ResponseBody란?
몇달전 본인은 프로젝를 진행하면서 클래스를 하나를 Controller로 두고, Controller클래스 내에 view return하는 메소드, RESTful방식으로 return 하는 메소드를 짬뽕해서 사용했다. 결과적으로 이런방식으
wondongho.tistory.com
728x90
728x90
'▶ Back-End > Java' 카테고리의 다른 글
SNS 간편로그인 - 카카오 로그인 API 호출 및 사용자 정보 받기 (0) | 2024.07.11 |
---|---|
RestTemplate Post 요청 보내기 (0) | 2024.07.04 |
@RestControllerAdvice - 전역 예외 처리 (0) | 2023.11.17 |
Swagger UI Hangs on Big Json Respones 해결 방법 (0) | 2023.10.18 |
Swagger3 JWT 인증 설정 (0) | 2023.10.18 |
댓글