[SPRING] 스프링 부트 잭슨에서 기본 표준 시간대를 적용하는 방법 날짜 직렬화
SPRING스프링 부트 잭슨에서 기본 표준 시간대를 적용하는 방법 날짜 직렬화
내 봄 부팅 응용 프로그램을 ISO8601 문자열로 날짜를 직렬화하도록 구성했습니다.
spring:
jackson:
serialization:
write-dates-as-timestamps: false
이것이 내가 얻는 것입니다 :
"someDate": "2017-09-11T07:53:27.000+0000"
그러나 나의 시간대는 유럽 / 마드리드 다. 사실 TimeZone.getDefault ()를 인쇄하면 얻을 수 있습니다.
Jackson이 실제 시간대를 사용하여 datetime 값을 직렬화하도록하려면 어떻게합니까? GMT + 2
"someDate": "2017-09-11T09:53:27.000+0200"
해결법
-
==============================
1.당신은 config 클래스에 이것을 추가하여 전체 어플리케이션의 시간대를 설정할 수 있습니다 :
당신은 config 클래스에 이것을 추가하여 전체 어플리케이션의 시간대를 설정할 수 있습니다 :
@PostConstruct void started() { TimeZone.setDefault(TimeZone.getTimeZone("UTC")); }
-
==============================
2.나는 같은 문제로 나 자신을 발견했다. 필자의 경우, 내 앱에 대해 하나의 시간대 만 있고 다음을 추가합니다.
나는 같은 문제로 나 자신을 발견했다. 필자의 경우, 내 앱에 대해 하나의 시간대 만 있고 다음을 추가합니다.
spring.jackson.time-zone: America/Sao_Paulo
내 application.properties에서 문제가 해결되었습니다.
출처 : https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html#JACKSON
-
==============================
3.Jackson2ObjectMapperBuilderCustomizer bean 등록 해결 :
Jackson2ObjectMapperBuilderCustomizer bean 등록 해결 :
@Bean public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() { return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault()); }
from https://stackoverflow.com/questions/46151633/how-to-make-default-time-zone-apply-in-spring-boot-jackson-date-serialization by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] tomcat7 : JDBC 드라이버 클래스를로드 할 수 없습니다 [com.mysql.jdbc.Driver] (0) | 2019.04.04 |
---|---|
[SPRING] mvn spring-boot : vs java -jar 실행 (0) | 2019.04.04 |
[SPRING] 메이븐 봄 - 요소 '콩'의 선언을 찾을 수 없습니다 (0) | 2019.04.04 |
[SPRING] 여러 위치에있는 Spring 속성 자리 표시 자 구성 자의 속성 확인 순서는 무엇입니까? (0) | 2019.04.04 |
[SPRING] ApplicationEventMulticaster가 초기화되지 않았습니다. 컨텍스트를 통해 이벤트를 멀티 캐스팅하기 전에 '새로 고침'을 호출하십시오. (0) | 2019.04.04 |