Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在SpringMVC中从JSON中排除属性(在Jackson序列化期间)_Java_Json_Spring_Spring Mvc_Jackson - Fatal编程技术网

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;
}