我有以下课程:
class A {
@JsonProperty("id")
Integer id;
@JsonProperty("b")
B b;
// constructors, getters, etc.
}
class B {
@JsonProperty("id")
Integer id
// other properties ...
@JsonProperty("c")
C c;
// getters and setters
}
class C {
@JsonProperty("id")
Integer id
// other properties ...
@JsonProperty("password")
String password;
// getters and setters
}
我"拥有"我的项目中的类A,类B和C来自另一个项目(DOM中包含JAR依赖项)。我通过调用REST接口收集B的信息。与B一起,来自C,其中包含密码。
当我向用户发送A时,所有对象都被序列化。这样,C(和密码)就会出现。
如何使用B发送A,但省略C?
我无法改变B和C:
这是真正的问题: 1.我可以在REST界面中添加任何注释(我使用RESTEasy),以便Jackson可以在没有C类的情况下进行序列化吗?
我不想创建另一个对象" B-like"并复制所有属性。应该有更好的方法(我希望)。
答案 0 :(得分:1)
您可以在“b”上使用com.fasterxml.jackson.annotation中的@JsonIgnoreProperties批注:
class A {
@JsonProperty("id")
Integer id;
@JsonProperty("b")
@JsonIgnoreProperties({"c"})
B b;
// constructors, getters, etc.
}
我希望它可以帮到你。