RESTful 웹 서비스의 모든 타임 스탬프에 LocalDateTime을 사용하고 모든 타임 스탬프 초기화 및 변경이 서버에서 수행됩니다.
서비스 클라이언트가 일부 리소스를 생성하면 서버는 내부적으로 생성 타임 스탬프를이 리소스에 할당합니다.JSON 직렬화 중에 localdatetime에 서버 시간대를 추가하는 방법은 무엇입니까?
class Resource {
private String data;
private LocalDateTime creationTimestamp;
public Resource(String someData) {
this.data = someData;
this.creationTimestamp = LocalDateTime.now();
}
}
서버는 다시 JSON 형식의 리소스를 반환 :
{
"data" : "someData",
"creationTimestamp" : "2017-09-22T12:03:44.022"
}
클라이언트가 creationTimestamp
는이 타임 스탬프가 생성되고 잘못 시간을 렌더링하고있는 서버 시간대를 모르는 렌더링 할 때.
유일한 해결 방법은 응용 프로그램의 모든 타임 스탬프를 ZonedDateTime으로 변경하고 JSON의 시간대와 함께 클라이언트에 다시 반환하는 것입니다. 그러나이 방법은 매우 비쌉니다.
이 문제를 해결할 수있는 다른 방법이 있습니까?
'LocalDateTime'에는 시간대가 없습니다. 또한, 어떤 JSON 직렬화 라이브러리를 사용하고 있습니까? –
@MarkRotteveel, 시간대가 없다는 것을 알고 있으므로 ZonedDateTime으로 마이그레이션 할 생각입니다. JSON 직렬화에 잭슨을 사용합니다. –