java后端返回给前端对象时去除值为空或NULL的属性参数

1.如果是string字符串 基本数据类型的设置

(JsonInclude.Include.NON_NULL)
@JsonInclude(JsonInclude.Include.NON_NULL)

 java后端返回给前端对象时去除值为空或NULL的属性参数_第1张图片

 2.测试接口时发现当返回的对象中属性值为 “” 或 [] 或 null 时,该属性依然会返回,这样数据看起来很不美观并且有时候也会导致前端组件出现一些小的bug。

java后端返回给前端对象时去除值为空或NULL的属性参数_第2张图片

如果children是空会出现如下图

java后端返回给前端对象时去除值为空或NULL的属性参数_第3张图片

解决--- 引入依赖

		
            com.fasterxml.jackson.core
            jackson-core
            2.10.0
        
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.10.0
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.10.0
        

使用 @JsonInclude 注解

只需要在实体类中的属性上面加上 @JsonInclude(JsonInclude.Include.NON_EMPTY) 

 注意:
1、 departmentCode 属性为 String 类型,String 的默认值为 null,所以注解里面要使用 JsonInclude.Include.NON_NULL。
2、children 属性为 List 类型,List 的默认值为 空 或 [] ,所以注解里面要使用 JsonInclude.Include.NON_EMPTY 。

可参考
java后端返回给前端对象时去除值为空或NULL的属性参数_第4张图片

children效果展示:

 java后端返回给前端对象时去除值为空或NULL的属性参数_第5张图片

 结果展示

 java后端返回给前端对象时去除值为空或NULL的属性参数_第6张图片

 

 

你可能感兴趣的:(java,开发语言)