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 ...
随机推荐
- pybot参数
p.p1 { margin: 0; font: 12px "Helvetica Neue" } p.p2 { margin: 0; font: 12px "Helveti ...
- FreeRTOS消息队列
FreeRTOS 的一个重要的通信机制----消息队列,消息队列在实际项目中应用较多. 一.消息队列的作用及概念: 消息队列就是通过 RTOS 内核提供的服务,任务或中断服务子程序可以将一个消息(注意 ...
- Python小白的数学建模课-B4. 新冠疫情 SIR模型
Python小白的数学建模课-B4. 新冠疫情 SIR模型 传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SIR 模型将人群分为易感者(S类). ...
- CURL 实战下载
#include <string> #include <stdio.h> #include <iostream> #include<fstream> # ...
- OpenFaaS实战之一:部署
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 简单快速安装Apache+PHP+MySql服务环境(四)—— 将php版本升级到7.2
书接上文,简单快速安装Apache+PHP+MySql服务环境(二)-- centos使用yum安装指定版本的php. 随着各种PHP框架的升级,对PHP的版本也有了更高的要求,所以笔者也尝试着更新升 ...
- Linux中tomcat随服务器自启动的设置方法
1. cd到rc.local文件所在目录,一般在 /etc/rc.d/目录. 2. 将rc.local下载到本地windows系统中. 3. 编辑rc.local,将要启动的tomcat /bin/ ...
- Jmeter 学习笔记 1 - Logic Controller -组织执行场景
using this website to practice performance testing: http://advantageonlineshopping.com/#/ Jemeter ho ...
- Redis挂了,流量把数据库也打挂了,怎么办?
你好呀,我是歪歪. 是这样的,前几天有个读者给我发消息,说面试的时候遇到一个场景题: 他说他当时,一时间竟然找不到回答问题的角度,感觉自己没有回答到点子上. 我仔细想了一下,确实是感到这个问题有一丝丝 ...
- InnoDB锁机制-转载
InnoDB锁机制 1. 锁类型 锁是数据库区别与文件系统的一个关键特性,锁机制用于管理对共享资源的并发访问. InnoDB使用的锁类型,分别有: 共享锁(S)和排他锁(X) 意向锁(IS和IX) 自 ...