Как скрыть информацию в моем ответе JSON?

Допустим, у меня есть класс Player: (игнорировать модификаторы доступа)

@javax.xml.bind.annotation.XmlRootElement
class Player {
    Long id;
    String name;
    String secret;
}

Я также мог бы иметь замки вокруг королевства

@javax.xml.bind.annotation.XmlRootElement
class Kingdom {
    Long id;
    String name;
    Player owner;
}

Теперь, когда я плюю объект kingdom в json для использования пользовательским интерфейсом, объект player тоже идет с ним. Это хорошо, это было бы не так полезно, если бы вы не могли сказать, дружелюбен ли он или враг. Но что плохо, секретная переменная также освобождается. Можно ли аннотировать мою секретную переменную, чтобы предотвратить ее маршалинг?

1 ответ

Решение

Вы можете комментировать свое поле или получатель с

@JsonIgnore

Javadoc заявляет

Аннотация маркера, указывающая, что аннотированный метод или поле должны игнорироваться функциональностью сериализации и десериализации на основе интроспекции. То есть его не следует рассматривать как "получатель", "установщик" или "создатель".

Другие вопросы по тегам