Neo4j Spring JSON - PullRequest
       19

Neo4j Spring JSON

0 голосов
/ 30 апреля 2018

Представьте, что у меня есть узел Person, у которого есть 3 хобби

Питер -> Хоккей
Питер -> Футбол
Питер -> Баскетбол

Когда я вызываю его из строки из

interface PersonRepository extends Neo4jRepository<Person, Long>{

@Query("MATCH (p:Person)-[has:HAS_HOBBY]->(h:Hobby) RETURN p, has, h"
List<Person> find();

Тогда у меня есть PersonService метод, который вызывает PersonRepostiry.find()

И когда я вызываю этот метод из 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" }
}

EDIT:

@NodeEntity
class Person{
    public Long id;
    public String name;

    @RelationShip(type="HAS_HOBBY")
    public Set<Hobby> hobbies;

    public addHobby(Hobby hobby) { TODO.. }
}

1 Ответ

0 голосов
/ 01 мая 2018

Этот тип создания ответа JSON можно выполнить на уровне службы или контроллера, повторяя то, что возвращается из personService.find (), и создавая пользовательскую карту с требуемой формой JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...