Java boolean类型的变量命名由is开头,后端无法正常接收参数传值

前提

boolean类型的变量命名由is开头时,IDEA自动生成get、set方法的问题。
实体类上面使用@Data注解,boolean类型的字段

private boolean isUpdateSpecies;

这时候如果前端JSON传值:

isUpdateSpecies:true

后端接口中的接收参数里面发现:

isUpdateSpecies:false

原因

在这里插入图片描述
阿里巴巴Java开发手册中对POJO类中布尔类型的变量命名有明确规定。布尔类型的变量不要加is前缀。
java中,boolean类型的参数对应的set方法时isxxx();
布尔类型的参数是以“is”开头,自动生成的get,set方法就会有问题:

 public boolean isUpdateSpecies() {
        return isUpdateSpecies;
    }

    public void setUpdateSpecies(boolean updateSpecies) {
        updateSpecies = updateSpecies;
    }

这样get,set方法就获取不到正确的值,会导致用实体接收前端参数时,对应的字段没有值。

解决

1.设计数据库时,boolean类型的字段不要以is开头。
2.如果无法更改数据库字段时,可以去掉@Data注解,然后手动生成get,set方法,修改一下方法体。

 public boolean isUpdateSpecies() {
        return isUpdateSpecies;
    }

    public void setIsUpdateSpecies(boolean isUpdateSpecies) {
        this.isUpdateSpecies = isUpdateSpecies;
    }

特别是注意set方法,这样前端传值就可以正常获取了。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tung.D.Liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值