Dubbo调用接口时将A类的属性赋值给B类:A类传输的null值字段在B类中赋予默认值

开发A模块时,会经常用dubbo去调用B模块的接口。
有一次进行新增接口调用时,被调用的B接口是用map接收参数,所以A接口中我使用了BeanUtil.beanToMap(bean1) 把bean1转成map;
B接口接收参数时,再用 BeanUtils.populate(bean2, map)进行map转bean的操作,
然后发现其中接收的available和opType字段在A接口中是没有传值的,但传输到map中是自动给了默认值,如下图显示:

在这里插入图片描述

开始以为是基本类型的原因,但改为包装类型同样也被赋值了,我希望接收的参数可以为null,这样保存数据才正确。

解决方案:
通过转换器设置为null时的默认转换值,请注意按照不同的传递参数类型去设置,如下:

ConvertUtils.register(new LongConverter(null), Long.class);
ConvertUtils.register(new ShortConverter(null), Short.class);
ConvertUtils.register(new IntegerConverter(null), Integer.class);
ConvertUtils.register(new DoubleConverter(null), Double.class);
ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class);
ConvertUtils.register(new BooleanConverter(null), Boolean.class);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值