>假设我有一个有 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 形状构建自定义映射。