Spring Data Rest Neo4j:模板不能为null或为空

时间:2016-04-26 16:35:54

标签: neo4j spring-boot spring-data spring-data-neo4j spring-data-rest

我在Spring中创建了我认为相当简单的域模型。




  @ NodeEntity
 class Dependency {
 @ GraphId
 private Long id
 String groupId
 String artifactId
字符串版本

 @取
 @RelatedTo(type =“DEPENDS_ON”,direction = OUTGOING)
设置<依赖> dependencies = new HashSet< Dependency>()
}
  




note *上面是用groovy编写的。





我还创建了一个后续的Repository(到目前为止所有的教科书!)。




  @RepositoryRestResource(collectionResourceRel =“ dependency“,path =”dependency“)
 interface DependencyRepository extends PagingAndSortingRepository< Dependency,Long> {
列表与LT;依赖> findByArtifactId(@Param(“artifactId”)String artifactId)
}
  




最后是应用程序类.... < / p>&#xA;&#xA;

  @ EnableNeo4jRepositories(basePackages =“io.byteshifter.depsgraph”)&#xA; @ SpringBootApplication&#xA; class Application扩展Neo4jConfiguration {&#xA;&# XA; public Application(){&#xA; setBasePackage( “io.byteshifter.depsgraph”)&#XA; }&#XA;&#XA; @Bean(destroyMethod =“shutdown”)&#xA; GraphDatabaseService graphDatabaseService(){&#xA;返回新的GraphDatabaseFactory()。newEmbeddedDatabase(“target / dependency.db”)&#xA; }&#XA;&#XA; public static void main(String [] args)抛出异常{&#xA; SpringApplication.run(Application,args)&#xA; }&#xA;}&#xA;  
&#xA;&#xA;

现在我希望在 http://127.0.0.1:8080/dependency 它将创建所有对象和关系..

&#xA;&#xA ;
 <代码> {&#XA; “groupId”:“group1”,&#xA; “artifactId”:“artifact1”,&#xA; “版本”:“1.0”,&#xA; “依赖”:[&#xA; {“groupId”:“group2”,“artifactId”:“artifact2”,“version”:“2.0”},&#xA; {“groupId”:“group3”,“artifactId”:“artifact3”,“version”:“3.0”}&#xA; ]&#xA;}&#xA;  
&#xA;&#xA;

相反,我得到了......

&#xA;&#xA;
 <代码> {&#XA; “原因”:{&#xA; “原因”:{&#xA; “cause”:null,&#xA; “message”:“模板不能为空或空!”&#xA; },&#XA; “message”:“模板不能为空或空!(通过引用链:io.byteshifter.depsgraph.domain.Dependency [\”dependencies \“]  - &gt; java.util.LinkedHashSet [0])”&#xA ; },&#XA; “message”:“无法读取JSON:模板不能为空或空!(通过引用链:io.byteshifter.depsgraph.domain.Dependency [\”dependencies \“]  - &gt; java.util.LinkedHashSet [0] );嵌套异常是com.fasterxml.jackson.databind.JsonMappingException:模板不能为null或为空!(通过引用链:io.byteshifter.depsgraph.domain.Dependency [\“dependencies \”]  - &gt; java.util .LinkedHashSet [0])“&#xA;}&#xA;  
&#xA;&#xA;

我毫不怀疑这是对我缺乏了解。如果有人能帮助引导我走向正确的方向,那将非常受欢迎。

&#xA;

1 个答案:

答案 0 :(得分:0)

我的REST知识让我失望了。我应该使用URI来表示其他依赖项。见下文:

{
        "groupId": "group3",
        "artifactId": "artifact3",
        "version": "1.0",
        "dependencies": ["http://127.0.0.1:8080/dependency/0", "http://127.0.0.1:8080/dependency/1", "http://127.0.0.1:8080/dependency/2"]
}