【发布时间】:2018-10-17 19:56:24
【问题描述】:
我有一个 Angular WebApp,它通过 http get 从后端 Java 服务器检索数据。 示例:
public getStateForUser(): Observable<UserRegistrationState> {
return this.http.get<any>(Environment.getServerAddress() + '/' +
UserRegistrationStateService.SERVICE_URL + '/getStateForUser', {
params: {
sessionIdentityStr: this.authGuard.getSession().sessionIdentityStr
}
});
}
export class UserRegistrationState {
registerDate: Date;
emailVerified: boolean;
unlocked: boolean;
}
这适用于所有领域。除了日期。 日期解析不正确,所以我想添加一个自定义解析器,我可以告诉他如何从 json 日期字符串中获取日期值。
当然,现在我可以为整个 UserRegistrationState 类添加一个自定义解析器,但是我在多个类上都有日期,我不想为每个类创建一个解析器,因为其他属性(日期除外)是解析得很好。
所以我的问题是:有没有办法为所有日期字段添加自定义解析器?
附:这是一个示例 JSON 日期字符串,自动从 Java LocalDateTime 解析:
"registerDate":{"dayOfMonth":17,"dayOfWeek":"WEDNESDAY","dayOfYear":290,"month":"OCTOBER","monthValue":10,"year":2018,"hour":21,"minute":21,"nano":370000000,"second":16,"chronology":{"id":"ISO","calendarType":"iso8601"}}
【问题讨论】:
-
格式化和发送自纪元以来的毫秒字符串并使用日期管道获取您需要的格式不是更容易吗?
-
告诉该 Java 后端服务器的作者了解 ISO 8601 标准。 java.time 类默认支持这些标准文本格式。
标签: java json angular typescript