Spring 数据(休息):日期序列化映射 returns 一个错误的值
Spring Data (Rest): Date serialization mapping returns a wrong value
我使用 Spring Boot 和 Data Rest 在 Java8 中创建了一个简单的微服务,并在我的 JSON 响应中的 Date 属性中得到了一个错误的序列化值。
我的实体:
@Entity
public class ArchivedInvoice implements Serializable {
...
@Column
private java.util.Date invoiceDate;
...
}
我的存储库界面:
@RepositoryRestResource(collectionResourceRel = "archivedinvoices", path = "archivedinvoices")
public interface ArchivedInvoiceRepository extends PagingAndSortingRepository < ArchivedInvoice, Long > {
...
@RestResource(rel = "findByDate", path = "findByDate")
public Page< ArchivedInvoice > findByInvoiceDate(@Param("invoiceDate") @Nullable @DateTimeFormat(iso = ISO.DATE) Date invoiceDate, Pageable pageable);
...
}
Postgres 将属性保存在一个简单的日期中(invoice_date date NOT NULL - '2016-02-22')但是 JSON 响应 returns:
"invoiceDate" : "2016-02-21T23:00:00.000+0000"
我怎样才能避免这种情况?
java.util.Date
其实就是一个时间戳:
The class Date represents a specific instant in time, with millisecond
precision.
如果 SQL 类型是日期,请改用 java.sql.Date
。
或者如果你使用 java 8,你可以尝试使用 java.time.LocalDate
。为此,您需要 .
我使用 Spring Boot 和 Data Rest 在 Java8 中创建了一个简单的微服务,并在我的 JSON 响应中的 Date 属性中得到了一个错误的序列化值。
我的实体:
@Entity
public class ArchivedInvoice implements Serializable {
...
@Column
private java.util.Date invoiceDate;
...
}
我的存储库界面:
@RepositoryRestResource(collectionResourceRel = "archivedinvoices", path = "archivedinvoices")
public interface ArchivedInvoiceRepository extends PagingAndSortingRepository < ArchivedInvoice, Long > {
...
@RestResource(rel = "findByDate", path = "findByDate")
public Page< ArchivedInvoice > findByInvoiceDate(@Param("invoiceDate") @Nullable @DateTimeFormat(iso = ISO.DATE) Date invoiceDate, Pageable pageable);
...
}
Postgres 将属性保存在一个简单的日期中(invoice_date date NOT NULL - '2016-02-22')但是 JSON 响应 returns:
"invoiceDate" : "2016-02-21T23:00:00.000+0000"
我怎样才能避免这种情况?
java.util.Date
其实就是一个时间戳:
The class Date represents a specific instant in time, with millisecond precision.
如果 SQL 类型是日期,请改用 java.sql.Date
。
或者如果你使用 java 8,你可以尝试使用 java.time.LocalDate
。为此,您需要