后台返回前端 is....开头字段被屏蔽

后台返回前端 is....开头字段被屏蔽 (Java)
背景 :

与往常一样前端联调接口 , 收到前端同事的反馈说 : 两个相同的接口返回的某个字段却不一样.

实体类 :
public class Test{
	private Boolean isEnable;
}

==============================
前端接收到的数据 : 
{
	"enable":true
}

问题 : 前端收到的字段名与定义的不一致 ! ! ! 很是蹊跷检查完代码无错误后 , 脑海里想起<阿里巴巴开发手册>里的一句话 , 明确禁止了这种已is开头定义布尔类型的变量命名方法 :

【强制】POJO 类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。
反例: 定义为基本数据类型Boolean isDeleted;的属性,它的方法也是isDeleted(), RPC框架在反向解析的时候,“以为”对应的属性名称是deleted,导致属性获取不到,进而抛出异常.

所以规范变量名是最佳推荐的.当然还有下面几种方式能够比较方便的解决这个问题.

1.增加序列化注解.

@JsonProperty(value = “isEnable”)
pirvate Boolean isEnable;

2.修改实体字段对应的get/set 方法为is开头的.


OVER See You Later !

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值