后端实体类isXXX开头的属性,传到前端后自动去掉is

最近在做一个前后端分离的小案例的时候,前端一直获取不到后端两个is开头的属性值,后来打印后发现is的前缀被自动去掉了。由此想到以前在看开发规范的时候,对这个一点有一些印象,大概就是避免使用is开头来命名属性值。特此记录一下。

数据库定义如下:两个字段为tinyint类型

在这里插入图片描述

对应的实体类中属性定义如下:两个属性为布尔类型

在这里插入图片描述

前端获取到的值:

在这里插入图片描述

对于产生此问题的原因,又看了一下阿里的开发规范

在这里插入图片描述

意思是建数据库表推荐表示是否的字段以is开头,但类中要避免使用is开头的变量命名,推荐使用resultMap进行映射。原因是某些框架在进行解析的时候会出现异常。

这里涉及到boolean类型的参数问题,getter和setter方法与非boolean类型的不一致,

对于boolean类型的参数,getter方法会以is开头,如isReceipt,isExamine,如下:

在这里插入图片描述

(这里我没有去深究如何解析的,后面有时间再去研究)

解决方法:

1.将生成的isReceipt()方法名改成getIsReceipt()
2.在生成的get方法上面也就是isReceipt上面加上@JsonProperty(value = "isXXX")注解

 @JsonProperty(value = "isReceipt")
    public boolean isReceipt() {
        return isReceipt;
    }
    @JsonProperty(value = "isExamine")
    public boolean isExamine() {
        return isExamine;
    }

之后,前端能够正常获取:

在这里插入图片描述

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值