背景
有的时候我们向客户端吐json数据的时候,可能因为使用了model结构或者包装类,如果没有值是默认返回null,而不同的客户端,比如ios可能在处理null值时报异常,所以需要后端在所有可能吐到客户端的json的model里面的属性上进行默认值赋值。
可以采用lombok解决这种问题。
POM
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
</dependency>
测试
新建两个Model,person引用son。
son属性提供了默认值。
@Data
public class MySon {
@Builder.Default
private Integer id = 100;
@Builder.Default
private String name = "default";
}
person没有默认值。
@Data
public class MyPerson {
private Integer id;
private Long longId;
private String desc;
private MySon mySon;
}
测试:
MyPerson p = new MyPerson();
MySon s = new MySon();
p.setMySon(s);
System.out.println("p = [" + p + "]");
p = [MyPerson(id=null, longId=null, desc=null, mySon=MySon(id=100, name=default))]
可以看到son的默认值已经有了。