先来看看自动生成字段的区别:

这是idea自动生成的getter/setter方法:

	private Boolean isTest;
    public Boolean getTest() {
        return isTest;
    }
    public void setTest(Boolean test) {
        isTest = test;
    }
//----------------------------------------------
    private boolean good;
    public boolean isGood() {
        return good;
    }
    public void setGood(boolean good) {
        this.good = good;
    }

这是通过lombok的@Data注解生成的结构:
!](https://img-blog.csdnimg.cn/20201222143434648.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ3NTYyMDIy,size_16,color_FFFFFF,t_70)

可以很明显看出来两种方法生成的Boolean类型的getter/setter方法不同,但是boolean类型是相同的,但也和普通的setter/getter不太一样
而controller层通过@requestBody接收前台返回的表单或json数据,通过set方法注入数据到DTO中,此时就需要注意自己项目中Boolean类型的结构
Boolean : getTest/setTest

"isTest":true   //正确
"test":false    //错误

Boolean : getIsTest/setIsTest

"isTest":false  //错误
"test":true    //正确

boolean:

"good":true     //正确
"isGood":false   //错误

写错的话后台字段是为空的哦

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐