1 回答
TA贡献1772条经验 获得超8个赞
一个干净的方法是使用@JsonView杰克逊注释。
定义视图:
public class UserViews {
public static class Normal {}
public static class High extends Normal {}
public static class Admin extends High {}
}
注释您的模型:
class User {
@JsonView(UserViews.Normal.class)
private int id;
@JsonView(UserViews.Normal.class)
private String fName;
@JsonView(UserViews.Normal.class)
private String lName;
@JsonView(UserViews.High.class)
private String mobile;
@JsonView(UserViews.High.class)
private String email;
@JsonView(UserViews.Admin.class)
private String bDate;
// getters and setters
}
并告诉 jackson 应该使用哪个视图来序列化:
mapper.writerWithView(UserViews.Admin.class).writeValueAsString(user);
在将数据发送到前端之前,您可以封装和集中 jackson 应该使用哪个视图的逻辑
添加回答
举报