Я бы хотел увидеть что-то подобное
class User {
@JsonMask({"name", "address"})
private Company company;
private String name;
//...
}
class Company {
private String name;
private String address;
private Set<User> employers;
//...
}
когда пользователь сериализуется, вывод должен быть
{"name": "Mike", "company": {"name": "Enterprise Co.Ltd", "address": "....." }}
, а дорогостоящая часть Set<User>
и другие подчиненные свойства безопасно игнорируются.
Я пока не совсем знаком с Джексоном и нашел только @JsonIgnore на помощь, но тогда я бы навсегда потерял все эти свойства @JsonIgnored. Есть ли элегантный способ решить эту проблему?
Примечание: я использую Hibernate JPA, поэтому в моих классах Model есть много отношений, с цепочками глубоких отношений и даже циклическими ссылками, поэтому полная сериализация JSON всегда приведет к черту ... Я заглянул в @JsonManagedRef и друг, но это только решает циклическую проблему, приводит к большому количеству настроек и не очень читабельно.