SpringBoot中Jackson的过滤使用
在接口的返回对象中,可能会有一些属性为null或者需要禁止某些字段返回给客户端。
在SpringBoot中可使用内置了Jackson实现这个需求
1. 过滤为null字段
在实体类中使用@JsonInclude(JsonInclude.Include.NON_EMPTY)即可过滤调为null的字段

1 @Data
2 @JsonInclude(JsonInclude.Include.NON_EMPTY)
3 public class UserMessageVo {
4
5 /**
6 * 发送方信息
7 */
8 private UserDetail sendUserInfo;
9
10 /**
11 * 接收方信息
12 */
13 private UserDetail receiveUserInfo;
14
15 /**
16 * 发送信息
17 */
18 private String message;
19
20 /**
21 * 发送时间
22 */
23 private Long createTime;
24
25 /**
26 * 发送方id
27 */
28 private Integer sendId;
29
30 /**
31 * 接收方id
32 */
33 private Integer receiverId;
34
35 /**
36 * 发布事件类型 1: 触发用户聊天记录保存redis事件 2:触发聊天记录保存数据库
37 */
38 private Integer type;
39
40 /**
41 * 聊天记录
42 */
43 private List<LittleMessageHistory> historyList;
44
45 }
2. 过滤指定字段
在实体类上使用@JsonIgnoreProperties(value = {"password"})即可,value可添加多个字段,逗号分割。

1 @Data
2 @JsonIgnoreProperties(value = {"password"})
3 public class UserDetail {
4
5 private static final long serialVersionUID = 1L;
6
7 /**
8 * 用户id
9 */
10 private Integer id;
11
12 /**
13 * 用户名
14 */
15 private String username;
16
17 /**
18 * 密码
19 */
20 private String password;
21
22 /**
23 * 昵称
24 */
25 private String nickname;
26
27 /**
28 * 手机号
29 */
30 private String phone;
31
32 /**
33 * 邮箱
34 */
35 private String email;
36
37 /**
38 * 状态 0-->禁用 1-->启用
39 */
40 private Integer status;
41
42 /**
43 * 性别 -1-->未知 0-->女 1-->男
44 */
45 private Integer gender;
46
47 /**
48 * 个性签名
49 */
50 private String signature;
51
52 /**
53 * 用户来源 0-->小程序登录 1-->手机号登录
54 */
55 private Integer source;
56 }
3. 客户端返回效果

SpringBoot中Jackson的过滤使用的更多相关文章
- Springboot中Jackson的操作
有一段时间没写博客了,虽然是菜鸟一枚但毕竟总要有东西记录学习的,我相信有志者事竟成.今天在工作中使用Jackson转换了一个javabean,传到测试服上之后发现日期少了一天,使用的是@JsonFor ...
- SrpingMVC/SpringBoot中restful接口序列化json的时候使用Jackson将空字段,空字符串不传递给前端
笔者的JSON如下: { "code": 10001, "message": "成功", "nextUrl": null ...
- SpringBoot中使用Jackson导致Long型数据精度丢失问题
数据库中有一个bigint类型数据,对应java后台类型为Long型,在某个查询页面中碰到了问题:页面上显示的数据和数据库中的数据不一致.例如数据库中存储的是:1475797674679549851, ...
- SpringBoot中使用Jackson将null值转化为""或者不返回的配置
第一种方式:SpringBoot中使用Jackson将null值转化为"" 前言:在实际项目中难免会遇到null值的出现,但是我们转json时并不希望出现NULL值,而是将NULL ...
- SpringBoot中使用Fastjson/Jackson对JSON序列化格式化输出的若干问题
来源 :https://my.oschina.net/Adven/blog/3036567 使用springboot-web编写rest接口,接口需要返回json数据,目前国内比较常用的fastjso ...
- SpringBoot系列——Jackson序列化
前言 Spring Boot提供了与三个JSON映射库的集成: Gson Jackson JSON-B Jackson是首选的默认库. 官网介绍: https://docs.spring.io/spr ...
- 由浅入深学习springboot中使用redis
很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 ...
- springboot中使用自定义两级缓存
工作中用到了springboot的缓存,使用起来挺方便的,直接引入redis或者ehcache这些缓存依赖包和相关缓存的starter依赖包,然后在启动类中加入@EnableCaching注解,然后在 ...
- springboot之jackson的两种配置方式
springboot 针对jackson是自动化配置的,如果需要修改,有两种方式: 方式一:通过application.yml 配置属性说明:## spring.jackson.date-format ...
随机推荐
- buu 内涵软件
一.无壳. 并且是32位程序, 二.用ida静态调试一下. 这里我脑子发热啊,flag已经在眼前,活生生被我放跑了,靠,我直接搜索字符串,然后就一脸懵逼的,进入了很多不知名的函数,就炸了,看了wp才知 ...
- Redhat 6.9 升级SSH到OpenSSH_8.6p1完整文档
这个文章是转载,原文连接在这个:https://www.cnblogs.com/xshrim/p/6472679.html 这个问题遇到过,下面可以解决 ----------------------- ...
- C#下通过wbemtest和WMI Code Cretor更加高效的访问WMI
能找到这篇博客的,相信都是有操作WMI需求的了.但是不知道如何快速验证.并集成到C#来操作WMI.我们分为3步: ##第一步:官网(或跟硬件开发WMI的人沟通你需要的接口和参数定义,如果是和硬件开发的 ...
- Hadoop知识总结
------------恢复内容开始------------ Hadoop知识点 Hadoop知识点什么是HadoopHadoop和Spark差异Hadoop常见版本,有哪些特点,一般是如何进行选择H ...
- 【分布式】CAP理论及其应用
CAP Theorem CAP 指的就是 "consistency 一致性","availability 可用性" "partition-tolera ...
- QT. 学习之路 三
添加一个动作: Qt 使用QAction类作为动作.QAction包含了图标.菜单文字.快捷键.状态栏文字.浮动帮助等信息.当把一个QAction对象添加到程序中时,Qt 自己选择使用哪个属性来显示, ...
- Git的安装和配置 -入门
Git的版本有很多种,适应各种windows,IOS, Linux平台的安装. 我用的是linux Centos7的版本: 1. 安装命令用Yum, 非常简单就可以安装完毕. yum install ...
- WIN10家庭版 访问WINXP 共享打印机
WIN10家庭版 1.安装对应的打印机驱动 2.打开WIN10计算机---在地址栏中输入:\\计算机XP名称,显示对应的共享资源,直接选择即可.如果无法访问则进行如下第三步 3.设置过程 开始 -设置 ...
- springboot-1-入门
springboot-1-入门 1.springboot简介,背景 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.极简hellowor ...
- ZYNQ FLASH+EMMC手动移植LINUX启动
前言 虽可使用Petalinux进行移植,简单方便,但为了更清楚明白的了解整个流程,还是尝试了一波手动移植. 参考资料 ZYNQ Linux 移植:包含petalinux移植和手动移植debian9 ...