接口返回值如何去掉空字段? 如何在接口返回值中去除空字段?
接口返回值如何去掉空字段
你是不是想知道接口返回值如何去掉空字段的IT小经验,接下来一起来看看吧。
在开发过程中,对外接口有如下需求:系统提供了一个API接口,对方希望他的接口返回值做一下处理,只返回非空的数据,把空字段过滤一下,我们需要如何做?

比如:
{
"success": true,
"code": 10000,
"message": "操作成功!",
"data": {
"id": null,
"title": "springboot葵花宝典",
"description": "微信公众号",
"published": null
}
}
上面JSON数据published值为null,那么在返回前端的时候我们需要不返回published字段。
这是一种比较常见的需求,我把我常用的处理办法进行总结,供大家参考。
提供的API接口,在返回json数据给用户之前,需要将实体对象转换成json数据。
这就需要使用json转换工具,在Spring框架中默认的JSON序列化框架是Jackson,这是最常用的Json处理框架,当然除此之外可能小伙伴们也可能会使用fastjson,我们都会进行介绍
1. Jackson去空值
1.1. 局部配置去空值
Jackson 框架中,给我们提供
@JsonInclude注解,既可以使用在类上面,也可以使用在字段上面,该注解的value值使用Include.NON_NULL,标记为非空。
- @JsonInclude注解使用在具体字段
@Data
public class Tutorial implements Serializable {
private Long id;
private String title;
private String description;
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer published;
private static final long serialVersionUID = 1L;
}
Jackson转换成json数据的时候,如果发现published为空值,就会直接过滤
- @JsonInclude注解使用在具体类
@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
public class Tutorial implements Serializable {
// 省略...
}
Jackson转换成json数据的时候,如果发现Tutorial类中只要有字段存在空值,就会直接过滤字段
思考:可能有很多接口有这样的需求,难道我们需要一个个在类上添加该注解?
肯定不是的,我们可以进行Jackson全局配置,统一过滤空字段
1.2. 全局配置去空值
Jackson在Spring Boot中的配置通常较为简单,因为Spring Boot默认使用MappingJackson2HttpMessageConverter作为JSON消息转换器,而不需要特定的配置类。
只需要配置ObjectMapper,可以轻松地实现实现在接口返回值中去掉空字段
相关阅读
-
迅睿怎么调用相关文章 迅睿cms通过多个关键词调用相关文章
迅睿cms怎么通过多个不同的关键词调用与每个关键词相关的相关文章? 下面我们来举个例子 比如: 根据第一个关键词全站,调取全站的相关文章 根据第二个关键词生成,调取生成的相关文章
-
制作网页费用多少 网站制作费用一览表
为网友解答制作网页费用多少和网站制作费用一览表方面的内容,具体介绍如下: 做一个网站,所花的几百块钱,只是一个模板的基础费用,你还要去做一些设置工作,这都需要人工来完成。
-
mysql数据库基础知识是什么 数据库零基础入门教学
今日小编为你讲解mysql数据库基础知识是什么和数据库零基础入门教学IT技巧方面的经验,请看下面详细的介绍。 MYSQL数据库简介 1、数据库就是存储数据的仓库,其本质是一个文件系统。数据
-
自己怎么制作网站链接 制作一个网页页面的步骤
本文摘要:自己怎么制作网站链接和制作一个网页页面的步骤的介绍,接下来IT袋小编就来介绍。 随着个人创业的流行,很多个人也需要一个比较详细的网站来展示自己,开展个人业务,或者


