tôi đã là một trường hợp sử dụng, nơi nó có vẻ thích hợp hơn để sử dụng JSONView chú thích với các thông tin loại trừ, ví dụ:JSONView chú thích có bao gồm/loại trừ thuộc tính
@JSONView(Views.Report1.class, include=false)
Đây không phải là (bao gồm thuộc tính) được hỗ trợ trực tiếp ở Jackson (1.9.2) như bây giờ, tôi tự hỏi là có một cách giải quyết dễ dàng ở Jackson để đạt được điều này.
Sử dụng trường hợp:
- Report1: Quan điểm này nên có
id, name, info1, info2, info3, info4
thuộc tính - Report2: Quan điểm này nên có
id, name, info1, info2, info4
thuộc tính - báo cáo [3 ..] Nói nhiều quan điểm khác có thể xảy ra
private int id; private String name; private String info1; private String info2; //ignore if view=report2 @JsonView(ReportViews.Report2.class , include=false) private String info3; private String info4;
Trường hợp sử dụng của tôi không bao gồm các thuộc tính dựa trên các khung nhìn (hoặc nói các id báo cáo). Với phương thức JSONView, tôi cần thêm tất cả các khung nhìn vào thuộc tính info3 ngoại trừ Report2 để loại trừ nó. Không phù hợp.
Phương pháp tiếp cận chính xác trong trường hợp này là gì? JSONView được tùy chỉnh ngoại trừ loại trừ/bao gồm sẽ là giải pháp đúng nếu không có thứ gì đó tương tự đã có sẵn.
Cảm ơn, loại trừ quyền không trực tiếp có thể, cuối cùng tôi đã mở rộng chức năng 'Jackson' để hỗ trợ chú thích tùy chỉnh của tôi, một trường hợp sử dụng mẫu giống như:' @ReportView (perms = {Permission.ShowX, Permission. ShowY, ..}, anyPerm = false | true, conditions = "reflectConditionMethod", include = false | true) ' – harsh