没有找到能够从类型[java.lang.String]转换为类型[java.time.Instant]的转换器

问题描述 投票:1回答:1

我们将弹簧启动升级1.5.3到2.0。我们在阅读现有文档时遇到异常。

org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [java.time.Instant]

下面的mongo文件和实体类相同。以前的春季启动版本它工作正常。现在我在qazxsw poi API调用期间遇到异常。

mongoTemplate.findOne()
spring-boot spring-data-mongodb mongotemplate
1个回答
1
投票

此问题与Java 8日期及其序列化/反序列化有关。您应该创建objectMapper的自定义实例,然后将其注入mongoTemplate。

这里解释得很好:{ "_id": "a884b47533a2f2596", "_class": "com.A.B.C.model.Entity1", "field1": "00006353", "field2": "384493", "field3": "327274", "date": "2018-09-03T08:25:22.461Z" } public class Entity1 { @Id private String id; @Indexed private String field1; @Indexed private String field2; @Indexed private String field3; private Instant date; }

此外,您还需要添加maven依赖项:

https://gist.github.com/corbtastik/7727bb870751f488ab30383aa72c834d

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.