我将使用Jersey 1.21.1进行翻译,当反序列化日期时遇到了奇怪的行为。
以下是我的POJO的简化版本:
@XmlRootElement
public class Invoice {
private Date invoiceDate;
private Date invoiceDate2;
}
我的资源方法:
@PUT
@Consumes(MediaType.APPLICATION_JSON)
public Response putInvoice(Invoice invoice) { .. }
调用此服务的 JavaScript 代码使用
JSON.stringify
来生成以下 HTTP 请求负载(根据 Chrome 调试器实际发送的内容):
到目前为止一切正常。但是,当我在{"invoiceDate":"2015-10-27T04:00:00.000Z","invoiceDate2":"2015-10-27T08:00:00.000Z"}
putInvoice
中断点停下来并检查 Java 日期 invoice.invoiceDate 和 invoice.invoiceDate2 时,它们都有相同的 fastTime 值:
(这等于 2015 年 10 月 27 日上午 12:00:00 UTC)。1445904000000
我不知道为什么 Jersey/MOXy 似乎无法解析看起来像标准 ISO UTC 日期的内容。我只能假设我做错了什么或者做出了错误的假设。非常感谢您的帮助。