1

如果我在实体类中使用 LocalDate 类型,如果我发送 POST 请求,则会收到以下错误:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `java.time.LocalDate` (no Creators, like default construct, exist): no String-argument constructor/factory method to deserialize from String value ('1977-01-01')
 at [Source: (io.undertow.servlet.spec.ServletInputStreamImpl); line: 1, column: 533]

如果我将我的属性类型从

@JsonbDateFormat("yyyy-MM-dd")
private java.time.LocalDate mydate;

@JsonbDateFormat("yyyy-MM-dd")
private java.util.Date mydate;

有用!

我已经使用 Wildfly 15 和 16(Eclipse Yasson 实现)进行了测试,新的 Java 日期类似乎不适用于 JSON-Bindings。

这是不支持还是我有什么问题?

4

1 回答 1

0

在我的情况下,我将此注释添加到 java.util.Date 字段并且这有效;

@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
private Date myDateField;

模式值应采用所有时间单位;

于 2021-12-03T15:13:11.537 回答