каково реальное использование аннотации @JsonIgnore - PullRequest
0 голосов
/ 04 октября 2019

Я объединяю таблицы с количеством элементов от одного до нескольких, используемые мной классы относятся друг к другу. И я использую аннотацию @JsonIgnore без глубокого понимания.

Ответы [ 3 ]

0 голосов
/ 04 октября 2019

@JsonIgnore используется для игнорирования логического свойства, используемого при сериализации и десериализации. @JsonIgnore может использоваться в setter , getter или field .

Если вы добавите @JsonIgnore к полю или к его методу-получателю, поле не будет сериализовано.

Пример POJO:

class User {
    @JsonIgnore
    private int id;
    private String name;
    public int getId() {
        return id;
    }
    @JsonIgnore
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }  
}

Пример кода длясериализация:

ObjectMapper mapper = new ObjectMapper();
User user = new User();
user.setId(2);
user.setName("Bob");
System.out.println(mapper.writeValueAsString(user));

Вывод на консоль:

{"name": "Bob"}

0 голосов
/ 04 октября 2019

Аннотация Джексона @JsonIgnore может быть помещена в поля, параметры getters / settess и конструктора помечают свойство как игнорируемое во время сериализации в JSON (или десериализации из JSON),Для получения более подробной информации см. Справочную документацию Джексона .

0 голосов
/ 04 октября 2019

При сериализации вашего объекта в Json поля, помеченные @JsonIgnore, не будут включены в сериализованный объект Json. Этот атрибут читается сериализацией Json с использованием отражения.

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