#spring-boot #elasticsearch
Вопрос:
Я использую spring-boot-starter-parent 2.5.4 и elasticsearch 7.12.1 и в основном могу успешно вставить документ с полем CreateDate as, но не могу выполнить поиск.
У меня есть веб-сервис Spring rest, который содержит функции поиска по диапазону дат и содержит запрос в json ниже:
{
"dateTo": "20210901T152702.620 04:00",
"dateFrom": "20200901T152702.620 04:00"
Однако при выполнении поиска CreatedDate отображается следующая ошибка :
021-09-01 15:45:18.149 WARN 19588 --- [nio-9088-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.time.ZonedDateTime` from String "20210901T152702.620 04:00": Failed to deserialize java.time.ZonedDateTime: (java.time.format.DateTimeParseException) Text '20210901T152702.620 04:00' could not be parsed at index 0; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.ZonedDateTime` from String "20210901T152702.620 04:00": Failed to deserialize java.time.ZonedDateTime: (java.time.format.DateTimeParseException) Text '20210901T152702.620 04:00' could not be parsed at index 0e
Пожалуйста, найдите ниже мой документ:
public class Logging {
@Id
private String id;
@Field(type = FieldType.Text, name = "username")
private String username;
@Field(type = FieldType.Date, format = DateFormat.basic_date_time)
private ZonedDateTime createdDate = ZonedDateTime.now();
}
Мой запрос показан ниже:
public class LoggingSearchCriteria extends AbstractSearchRequest {
private ZonedDateTime dateTo;
private ZonedDateTime dateFrom;
}
Есть идеи, почему я получаю эту ошибку при выполнении команды поиска?
Спасибо заранее
Комментарии:
1. Это, должно быть, ошибка, исходящая из реализации REST, в которой анализируется запрос json. Spring Data Elasticsearch не использует Джексона для входных или выходных данных
2. Я удалил тег [[spring-data-jpa]], так как он, похоже, не имеет отношения к делу.