사용자가 직렬화 때 출력이jackson 직렬화, 속성에 사용할 하위 속성을 나타내는 주석이 있습니까?
{"name": "Mike", "company": {"name": "Enterprise Co.Ltd", "address": "....." }}
해야한다,이
class User {
@JsonMask({"name", "address"})
private Company company;
private String name;
//...
}
class Company {
private String name;
private String address;
private Set<User> employers;
//...
}
같은 것을보고 싶어하고 비용이 많이 드는 부분 Set<User>
및 기타 하위 속성은 무시됩니다.
저는 아직 잭슨에 익숙하지 않고 구출 된 @JsonIgnore 만 찾았습니다. 그렇지만 나는 그 모든 @JsonIgnored 속성을 영원히 잃을 것입니다. 이 문제를 해결할 수있는 우아한 방법이 있습니까?
참고 : 저는 Hibernate JPA를 사용하고 있습니다. 따라서 모델 클래스에는 깊은 관계 체인과 순환 참조가 있으므로 많은 JSON 직렬화가 항상 지옥으로 연결됩니다 ... @ JsonManagedRef와 친구,하지만 그저 순환 문제를 해결하고 많은 설정으로 이어지고 아주 가독하지 않습니다.