java去掉返回对象中为NULL的属性
java去掉返回对象中为NULL的属性1.前言1.和第三方系统进行交互时,如果返回的是对象model转成的json,那么json中会存在 “xxxx”:null。2.使用postMan调试程序时,发现返回对象的属性如果为NULL时,结果很难看。效果如下:2.如何解决这个问题---->在属性上加上注解:@JsonInclude(JsonInclude.Include.NON_NULL)@Jso
·
java去掉返回对象中为NULL的属性
@JsonInclude(JsonInclude.Include.NON_NULL)
1.前言
1.和第三方系统进行交互时,如果返回的是对象model转成的json,那么json中会存在 “xxxx”:null。
2.使用postMan调试程序时,发现返回对象的属性如果为NULL时,结果很难看。效果如下:
2.如何解决这个问题---->在属性上加上注解:@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonInclude(JsonInclude.Include.NON_NULL)
private String upSystemId;
2.准备工作
pom依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.3</version>
</dependency>
3.给对象属性加@JsonInclude
注意:
1:int 属性值的初始值为0,如果不想显示int类型的属性。将int改成Integer。(Integer初始化为null)
2:在查询数据库时,建议将非varchar字段设置默认值null,因为空串 “” != null
来个对象:
package com.example.demo.base.model.baseModel;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.util.Date;
@Data
public class BaseModel {
/**
* 上游系统唯一系统标识号 12位系统号
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
private String upSystemId;
/**
* 上游系统唯一流水号 21位
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
private String upSystemSeqNo;
/**
* 上游系统 请求日期 2020-10-20
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
private Date tranDate;
/**
* 上游系统 操作人 12位
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
private String userId;
/**
* 主键ID
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
private String id;
/**
* 创建时间
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
private Date createTime;
/**
* 更新时间
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
private Date updateTime;
/**
* 当前页,需要查询的页数
* pageNo从1开始
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer pageNo;
/**
* 每页显示的条数
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer pageSize;
/**
* 当前页,需要查询的页数
* pageNo从1开始
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer startNum;
/**
* 设置分页查询数据
*/
public void setPageQuery() {
this.startNum = this.getPageNo() > 0 ? (this.getPageNo() - 1) * this.getPageSize() : 0;
}
}
4.来看下效果
postman结果: 没有为 null 的属性了
更多推荐
所有评论(0)