Playframework 2.0 使用Jackson JsonViews注释方法的PlayFramework 2
我试图定义实体的一些视图,以不同的方式将其转换为json。在Jax-rs中,还可以使用@JsonView对REST-resource方法进行注释,以指定在每个资源中需要哪个视图。在PlayFramework2中是否可以对控制器方法执行类似的操作 我的实体:Playframework 2.0 使用Jackson JsonViews注释方法的PlayFramework 2,playframework-2.0,jackson,Playframework 2.0,Jackson,我试图定义实体的一些视图,以不同的方式将其转换为json。在Jax-rs中,还可以使用@JsonView对REST-resource方法进行注释,以指定在每个资源中需要哪个视图。在PlayFramework2中是否可以对控制器方法执行类似的操作 我的实体: public class User { public static class Normal{}; public static class Complete extends Normal{}; @Id @Js
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(User.Normal.class)
公共静态结果getUsers(){
List users=User.findAll();
返回ok(Json.toJson(users));
}
我希望它只返回带@JsonView(Normal.class)注释的字段,显然这不起作用,它还返回id字段。是否可以在不必手动使用ObjectMapper的情况下获取它
提前谢谢 试试这个。。。它对我有用
ObjectMapper mapper = new ObjectMapper();
mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);
try {
String ret = mapper.writerWithView(User.Normal.class)
.writeValueAsString(User.findAll());
我也对使用该功能感兴趣,你自己找到答案了吗?我找不到答案,所以我使用ObjectMapper创建了一个简单的静态方法来返回带有所需视图的json。我想这只是为play framework制作插件或对其做出贡献的问题(因为它是一个OS项目)。不管怎样,谢谢。是的,它很有效。据我所知,这就是我所指的使用ObjectMapper manually的方法。仅手动方式。。