后端给前端传参数忽略空属性

@JsonInclude

@JsonInclude注解用于指定在对象序列化为JSON字符串时,哪些属性应该被包含进去,哪些属性应该被忽略掉。

@JsonInclude注解有以下几个常用选项:

  1. @JsonInclude(JsonInclude.Include.NON_NULL):表示只有属性值不为null的属性才会被包含进去。属性值为null的属性将被忽略。

  2. @JsonInclude(JsonInclude.Include.NON_EMPTY):表示只有属性值不为空的属性才会被包含进去。属性值为空字符串("")或空集合([])等情况的属性将被忽略。

  3. @JsonInclude(JsonInclude.Include.ALWAYS):表示所有属性都会被包含进去,即使属性值为null或为空。

  4. @JsonInclude(JsonInclude.Include.NON_DEFAULT):表示只有属性值与默认值不相等的属性才会被包含进去。默认值根据属性类型的默认值而定。

示例代码如下:

@JsonInclude(JsonInclude.Include.NON_NULL)
public class MyClass {
    private String name;
    private Integer age;
    private List hobbies;
 
    // getters and setters
}

上述代码表示在将MyClass对象序列化为JSON字符串时,只有name、age和hobbies属性的值不为null时才会被包含进去。

你可能感兴趣的:(java)