使用lombok解决默认值问题

使用lombok解决默认值问题

背景

有的时候我们向客户端吐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的默认值已经有了。

转载于:https://my.oschina.net/u/1000241/blog/3047881

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100936.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea 激活 2021 3月最新注册码

    idea 激活 2021 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    972
  • request中的方法_requests发送get请求

    request中的方法_requests发送get请求request.getRealPath不推荐使用request.getRealPath(“”)这个方法已经不推荐使用了,那代替它的是什么方法Deprecated.AsofVersion2.1oftheJavaServletAPI,useServletContext.getRealPath(java.lang.String)instead.request.getSess

    2025年11月22日
    3
  • 【数据库】模糊查询[通俗易懂]

    【数据库】模糊查询[通俗易懂]【数据库】模糊查询

    2022年4月25日
    129
  • 漯河恢复常态化疫情防控工作_你尝试使用的应用程序

    漯河恢复常态化疫情防控工作_你尝试使用的应用程序问题:windows平台怎么运行.netcore控制台解决一:.netcore跨平台,控制台在生成后并不会生成exe文件直接在生成目录启用cmd,或者直接cd到相应目录startdotnet你的控制台名字.dll 问题:强制生成exe文件在控制台项目管理文件 xxx.csproj 添加下面一行&lt;PropertyGroup&gt;  &lt;Outp…

    2025年5月28日
    4
  • Linux中搭建Nginx环境[通俗易懂]

    Linux中搭建Nginx环境[通俗易懂]CentOs7环境中一、安装pcre依赖 1.下载 本地上传或者联网下载pcre压缩文件依赖 2. 解压pcre压缩包 命令:tar -zxvf pcre-8.37.tar.gz 3. 在解压目录下执行 ./configure 在当前目录运行configure文件 …

    2022年6月13日
    30
  • java常量表示_形参可以是常量吗

    java常量表示_形参可以是常量吗万千封印我知道编译器需要在编译时知道表达式才能编译一个开关,但是为什么foo.ba_常数不是呢?虽然从字段初始化后执行的任何代码的角度来看,它们都是常量,但它们不是编译时间常数在JLS所要求的意义上;见§15.28常量表达式的规格常数表达式1..这指的是§4.12.4最后变量它将“常量变量”定义为:我们称一个变量为原始类型或类型字符串,它是最终变量,并使用编译时常量表达式(§15.28)初始化为常…

    2022年9月29日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号