У меня есть класс Java, такой как
@Data
public class Comment {
private Integer id; // should be used anyhow
private Long refId; // for internal purpose -> not be serialized
private String text; // should be used in QuickComment
private String patch; // should be included in PatchComment ONLY
private String status; // should be included in StatusComment ONLY
}
, и у меня есть
@Data
public class Response{
private Comment statusComment;
private Comment patchComment;
}
Я думал об использовании JsonView
как
public class Views{
public interface StatusComment{}
public interface PatchComment{}
}
и применил их кначальный класс
@Data
public class Comment {
@JsonView({Views.StatusComment.class, Views.PatchComment.class})
private Integer id; // should be used anyhow
private Long refId; // for internal purpose -> not be serialized
@JsonView({Views.StatusComment.class, Views.PatchComment.class})
private String text; // should be used anyhow
@JsonView(Views.PatchComment.class)
private String patch; // should be included in PatchComment ONLY
@JsonView(Views.StatusComment.class)
private String status; // should be included in StatusComment ONLY
}
и Response
@Data
public class Response{
@JsonView(Views.StatusComment.class)
private Comment statusComment;
@JsonView(Views.PatchComment.class)
private Comment patchComment;
}
Но почему-то он полностью терпит неудачу. Это терпит неудачу полностью, т.е. ничего не фильтруется. Это проблема с Ломбоком. Или это определено неправильно?