gpt4 book ai didi

playframework-2.0 - 使用 Jackson Json Views 注释方法 Play Framework 2

转载 作者:行者123 更新时间:2023-12-04 18:28:42 25 4
gpt4 key购买 nike

我试图定义一个实体的一些 View ,以一些不同的方式将它转换为 json。在 Jax-rs 中,也可以使用 @JsonView 来注释 REST 资源方法,以指定每个资源中所需的 View 。是否可以对 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 的情况下获得它?

提前致谢!

最佳答案

试试这个……它对我有用。

    ObjectMapper mapper = new ObjectMapper();
mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);

try {
String ret = mapper.writerWithView(User.Normal.class)
.writeValueAsString(User.findAll());

关于playframework-2.0 - 使用 Jackson Json Views 注释方法 Play Framework 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19654876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com