Neo4j Spring JSON



>假设我有一个有 3 个爱好的 Person 节点

彼得->曲棍球
彼得->足球
彼得->篮球

当我从字符串调用它时

interface PersonRepository extends Neo4jRepository<Person, Long>{
@Query("MATCH (p:Person)-[has:HAS_HOBBY]->(h:Hobby) RETURN p, has, h"
List<Person> find();

然后我有一个调用PersonRepostiry.find()PersonService方法

当我从控制器中的PersonService调用此方法时

@RequestMapping("/")
public String all(){
    return personService.find();
}

这一切都很完美,但是当我访问这个本地主机:8080/时,我得到这样的json

{
    "person":"Peter",
    "hobbies":{
          "name":"hockey"
     }, {
          "name":"soccer"
     }, {
          "name":"basketball"
     }
}

但我真的很想得到这样的输出

{
    "person":"Peter",
    "hobby": { "name":"hockey" }
}
{
    "person":"Peter",
    "hobby": { "name":"soccer" }
}
{
    "person":"Peter",
    "hobby": { "name":"basketball" }
}

编辑:

@NodeEntity
class Person{
    public Long id;
    public String name;
    @RelationShip(type="HAS_HOBBY")
    public Set<Hobby> hobbies;
    public addHobby(Hobby hobby) { TODO.. }
}
这种类型的 JSON

响应创建可以在您的服务或控制器层中完成,迭代从 personService.find(( 返回的内容并使用所需的 JSON 形状构建自定义映射。

相关内容

  • 没有找到相关文章

最新更新