Java 在SpringMVC中从JSON中排除属性(在Jackson序列化期间)
问题: 当对象在Java 在SpringMVC中从JSON中排除属性(在Jackson序列化期间),java,json,spring,spring-mvc,jackson,Java,Json,Spring,Spring Mvc,Jackson,问题: 当对象在@RestController方法中返回时,一种排除类属性(例如,未经授权不应公开给公众的字段)的简单方法 class Article { String title; String content; List<Comments> comments; int status; } 每次添加新属性时,都需要使用视图修改新属性。我还需要注释每个属性(我希望尽可能成为POJO) 想法2 DTO—我希望避免创建DTO,特别是因为添加新字段
@RestController
方法中返回时,一种排除类属性(例如,未经授权不应公开给公众的字段)的简单方法
class Article {
String title;
String content;
List<Comments> comments;
int status;
}
每次添加新属性时,都需要使用视图修改新属性。我还需要注释每个属性(我希望尽可能成为POJO)
想法2
DTO—我希望避免创建DTO,特别是因为添加新字段可能意味着在所有类中都添加它(但这似乎是我当前的选择)
想法3
在我看来,它还不够成熟,无法在制作中使用。不过,作者很活跃
我相信我的问题很常见,必须有一个更简单的解决方法。你可以看看我为此创建的一个小项目。它可能符合你的需要:
class Article {
@JsonView({ArticleView.List.class, ArticleView.Detail.class, ArticleView.Admin.class})
String title;
@JsonView({ArticleView.Detail.class, ArticleView.Admin.class})
String content;
@JsonView({ArticleView.Detail.class, ArticleView.Admin.class})
List<Comments> comments;
@JsonView({ArticleView.Admin.class})
int status;
}