Привязка jd localdate с реализацией yasson на сервере wildfly

Если я использую тип 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.

Это не поддерживается или я что-то не так?

1 ответ

В моем случае я добавил эту аннотацию в поля java.util.Date, и это работает;

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

Значения шаблона должны принимать все единицы времени;

Другие вопросы по тегам