Как бороться с One to One json l oop? - PullRequest
1 голос
/ 07 февраля 2020

В моем приложении есть класс "Пользователь" с одним атрибутом, который является другим пользователем. Моя проблема в том, что у пользователя один есть пользователь два, а у пользователя два - пользователь один, мой l oop не похож на то, что я нахожу везде, где у одного класса есть список другого, у которого есть список первого. Мой l oop можно записать так:

{
    "name": "user1,
    "friend": {
        "name": "user2",
        "friend": {
            "name": "user1",
            "friend": {
                "name": "user2",
                "friend": ....
....
}

1 Ответ

3 голосов
/ 07 февраля 2020

Вы находитесь в бесконечном l oop (двунаправленные отношения Джексона), для предотвращения этой ситуации вы можете использовать несколько методов

1 -Использование @JsonManagedReference, @ JsonBackReference

2- Использование @ JsonIdentityInfo

3- Использование @ JsonView

4- Использование @ JsonIgnore

5- Использование @ JsonView

6- Использовать пользовательский сериализатор

Эта ссылка может быть полезна

Джексон - Двунаправленные отношения

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