com.fasterxml.jackson.annotation.JsonView
@JsonView可以过滤pojo的属性,使Controller在返回json时候,pojo某些属性不返回,比如User的密码,一般是不返回的,就可以使用这个注解。
com.fasterxml.jackson.annotation.JsonView
@JsonView可以过滤pojo的属性,使Controller在返回json时候,pojo某些属性不返回
1.在pojo字段添加@Jsonview
2.添加视图接口
@Getter
@Setter
@ToString
@TableName("project")
public class Project {
public interface ProjectBaseInfo{}
@TableId
@JsonView(ProjectBaseInfo.class)
private Integer id;
// 项目编码
@JsonView(ProjectBaseInfo.class)
private String projectNumber;
// 项目名称
@JsonView(ProjectBaseInfo.class)
private String projectName;
// 数量
@JsonView(ProjectDetailInfo.class)
private Integer count;
}
3.在Controller中调用
@GetMapping("getProjectList")
@ApiOperation("获取项目列表")
@JsonView(Project.ProjectBaseInfo.class)
public Results<List<Project>> getProjectList() {
List<Project> list = dtsService.getProjectList(DTS_TYPE);
return Results.ok(list);
}
jackson开发方发布了修复公告建议用户更新到2.12.0+ 版本,同时后续将发布的版本也会加入该漏洞的修复措施。
升级jackson,参考
<properties>
<java.version>1.8</java.version>
<jackson.version>2.12.4</jackson.version>
</properties>
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
原文:https://www.cnblogs.com/tanjr/p/15149488.html