@JsonView如何使用泽西

时间:2013-07-21 04:38:36

标签: jersey jackson json-view

我想为一个对象返回不同视图的不同视图。但它总是返回所有领域。 我创建了3个不同的视图:

public class Views {
    public static class PublicView { }
    public static class ExtendedPublicView extends PublicView { }
    public static class InternalView extends ExtendedPublicView { }
}

然后在User.java

@XmlRootElement()
public class User {

    @JsonView(Views.PublicView.class)
    private String username;

    @JsonView(Views.PublicView.class)
    private String employeeName;

    @JsonView(Views.ExtendedPublicView.class)
    private Date birthday;  

    @JsonView(Views.ExtendedPublicView.class)
    private String mobile;
}

然后将@JsonView添加到

@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
@JsonView(Views.PublicView.class)
public GenericResponse auth(@FormParam("username") String username, @FormParam("password") String password ){

}

1 个答案:

答案 0 :(得分:1)

好的,我几天前修好了。 我检查了那个时候使用的jackson的源代码,没有关于@json视图的事情。我记得那个版本是1.8。* 现在我换成新的。它的工作原理