java后端返回给前端不为空的属性
问题背景:
目前遇到的一个问题。一个对象里面定义了数组、集合、和字符串属性等,但是返回给前端的时候数组和集合都是空的,前端接收到的是“” 一个空字符。然后保存的时候又把空字符传给后端,出现了数据结构不匹配导致报错。
解决方案:
引入依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0</version>
</dependency>
相关注解:
只需要注解写在属性字段上面即可
为空不返回 @JsonInclude(JsonInclude.Include.NON_EMPTY)
为null不返回 @JsonInclude(JsonInclude.Include.NON_NULL)
当返回前段的时候,如果对应的字段为空或为null,则不会返回给前端该属性