我正在尝试定义实体的一些视图以以某些不同的方式将其转换为 json。在 Jax-rs 中,也可以使用 @JsonView 注释 REST 资源方法,以指定您希望在每个资源中使用哪个视图。是否可以使用 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;
...
}
和这样的控制器方法:
@JsonView(User.Normal.class)
public static Result getUsers(){
List<User> users = User.findAll();
return ok(Json.toJson(users));
}
我希望它只返回用 @JsonView(Normal.class) 注释的字段,显然这不起作用,它还返回 id 字段。是否有可能无需手动使用 ObjectMapper 来获取它?
提前致谢!