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 ...
随机推荐
- python 两种排序方法 sort() sorted()
python中有两种排序方法,list内置sort()方法或者python内置的全局sorted()方法 区别为: sort()方法对list排序会修改list本身,不会返回新list.sort()只 ...
- layim即时通讯实例各功能整合
一.系统演示1.1 聊天窗体主界面演示 1.2 模拟两人在线聊天(点击图片查看演示视频) 1.3 在线演示> 在线演示,点击进入系统到这里,若是您想要的,接下来听我娓娓道来二.开发工具开发软件: ...
- python exec()函数
''' 函数的作用: 动态执行python代码.也就是说exec可以执行复杂的python代码,而不像eval函数那样只能计算一个表达式的值. exec(source, globals=None, l ...
- Scala学习——操作外部数据
scala操作外部数据 一.scala读取文件及网络数据 package top.ruandb.scala.Course08 import scala.io.Source object FileApp ...
- 怎么实现系统调用wait和exit
例程 #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/wai ...
- Web 字体 font-family 浅谈
前言 最近研究各大网站的font-family字体设置,发现每个网站的默认值都不相同,甚至一些大网站也犯了很明显的错误,说明字体还是有很大学问的,值的我们好好研究. 不同的操作系统.不同浏览器下内嵌的 ...
- 高德纳/Donald Ervin Knuth
丸了丸了这位就是我人生的第一位爱豆了owo 感觉他的经历,气质都是我期望的类型呀. 即使没有人家的智商和绝顶天赋,也不断向彼努力吧. 从小喜欢音乐,会多种乐器(管风琴) 其实长得人高马大,高中校篮球队 ...
- mybatis介绍以及配置
一.概念 1.作用:简化dao层,是框架的一部分,常叫SSM,或SSI 2.历史:之前的版本叫ibatis,三版之后叫mybatis 3.什么是orm?object,relational,mappin ...
- Java中Integer类型的整数值的大小比较
如果比较两个数值相等的Integer类型的整数,我们可能会发现,用"=="比较(首先你必须明确"=="比较的是地址),有的时候返回true,而有的时候,返回fa ...
- [考试总结]noip模拟17
爆零了! 菜爆了 弱展了 垃爆了 没有什么可以掩饰你的菜了 这次考试为我带来了第一个 \(\color{red}{ \huge{0}}\) 分,十分欣慰.... 最近的暴力都打不对,你还想什么正解?? ...