【发布时间】:2017-10-03 04:10:37
【问题描述】:
我的 REST API 中有一个复杂的类:
class Complicated {
String foo
Integer bar
Instant baz
...
// lots more
}
我还有另一个类包含Complicated 的集合:
class HasComplications {
String description
List<Complicated> complications
}
当我序列化我的HasComplications(使用 Spring MVC)时,我只想要每个 Complicated 的 sn-p:
{
description: "hello world",
complications: [ {
foo: "foo1",
bar: 42
] }
}
当我直接序列化Complicated 时,我可以使用@JsonView 告诉Jackson 要序列化哪组属性:
class Complicated {
@JsonView(Views.Snippet) String foo
@JsonView(Views.Snippet) Integer bar
Instant baz
...
// lots more
}
但是,当我在 complications 属性中传递地序列化 Complicated 时,Jackson 会序列化所有属性。有没有办法让我声明性地告诉它“在序列化这个属性时使用这个视图”?
class HasComplications {
String description
@UseJsonView(Views.Snippet)
List<Complicated> complications
}
【问题讨论】:
标签: java json jackson json-view