ネストされたエンティティに @JsonView アノテーションを使用しようとしています。より明確にするために、2 つのエンティティがあり、各エンティティには独自のビュー クラスがあるとします。
public class JsonViewAddress {
//some view classes
}
public class Address {
//fields annotated by JsonViewAddress's classes and @JsonProperty
}
public class JsonViewPerson {
//some view classes
}
public class Person {
//some fields (yes annotated with JsonViewPerson classes and @JsonProperty)
//also assume that this is annotated with any JsonViewPerson's class.
private Address address;
}
レスポンスからJson型でこのPersonクラスを実現してみましょう
@Path("hey")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class Resource {
@GET
@Path("/stack/overflow")
@JsonView(value = { /* WHAT SHOULD BE WRITTEN HERE ? */ })
public Response method() {
//return Person entity in response
}
}
@JsonView アノテーションは String 配列を取りますが、これらの記述されたビュー クラスが所属するエンティティごとに明示的に機能する必要があることをどのように判断すればよいですか? UserView が User に対して機能し、AddressView が Address に対して機能することをすぐに確認したいと思います。
ありがとう。