我创建了一个小型 Spring Boot 项目,通过包含 Seq(vavr 集合)的 spring data rest 从 mongoDb 检索示例对象。启动应用程序后立即不起作用。起初我必须进行插入,然后它可以调用 repo 的 rest 端点。
来自日志的错误消息
Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Couldn't find PersistentEntity for type class io.vavr.collection.List$Cons!; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Couldn't find PersistentEntity for type class io.vavr.collection.List$Cons! (through reference chain: org.springframework.hateoas.PagedResources["_embedded"]->java.util.Collections$UnmodifiableMap["myEntities"]->java.util.ArrayList[0]->org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$PersistentEntityResourceSerializer$1["content"]->de.spring.demo.entity.MyEntity["myList"])
听起来必须注入一些映射器,这些映射器在插入新条目后会自动注入(或者可能是一些延迟加载......)
可以在此处找到示例:https ://github.com/renne-b/spring-rest-demo
得到一个提示缺少什么会很棒。
一些细节:
- 最新的 Spring Boot 里程碑:2.0.0.M3
- 我在 ObjectMapper 注册了 VavrModule
- @EnableMongoRepositories(basePackages = "我的课程路径")