エンティティのいくつかのビューを定義して、いくつかの異なる方法で json に変換しようとしています。Jax-rs では、REST リソース メソッドに @JsonView でアノテーションを付けて、各リソースで必要なビューを指定することもできます。PlayFramework 2 の Controller メソッドで同様のことを行うことは可能ですか?
私のエンティティ:
public class User {
public static class Normal{};
public static class Complete extends Normal{};
@Id
@JsonView(Complete.class)
private ObjectId id;
@JsonView(Normal.class)
@Property("user")
private String username;
@Property("pass")
@JsonView(Normal.class)
private String password;
...
}
そして、次のような Controller メソッド:
@JsonView(User.Normal.class)
public static Result getUsers(){
List<User> users = User.findAll();
return ok(Json.toJson(users));
}
@JsonView(Normal.class) で注釈が付けられたフィールドのみを返すようにしたいのですが、明らかにこれは機能していません。id フィールドも返します。手動で ObjectMapper を使用せずに取得することは可能ですか?
前もって感謝します!