개발/Spring

[SpringBoot] AJAX로 내려온 date 응답값 timezone이 UTC로 나오는 현상

신매력 2022. 7. 11. 00:08

1) 일반 통신일 때는 문제가 없다.

 

MySql에서 timestamp 타입으로 저장한 Date에 대해서 

데이터를 조회해서 Model에 담아 내려주면 우리나라 시간으로 정상적으로 나온다.

 

 

2) AJAX 통신일 때 UTC 시간으로 응답이 내려온다.

 

MySql에서 timestamp 타입으로 저장한 Date에 대해서 

데이터를 조회하고 @ResponseBody 어노테이션을 통해 Jackson 라이브러리로 date를 담아서 JSON으로 내리면

UTC 시간으로 나오는 현상이 발생한다.

 

이유는 Jackson 라이브러리에서 타임존을 맞춰주지 않았기 때문이다.

 

application.properties 또는 yml 설정을 통해 Jackson의 타임존을 아래와 같이 맞춰주어야 한다.

 

spring.jackson.deserialization.adjust-dates-to-context-time-zone=false
spring.jackson.time-zone=Asia/Seoul