dubbo布尔值序列化后没有is问题

dubbo布尔值序列化问题

今天遇到一个问题,dubbo接口里的某个response的bool字段,字段名里含有is,序列化后的值里is居然自动消失了。

这里随便举个例子:

public class User implements Serializable{
    private boolean isPayed;
}

调用该dubbo接口之后,序列化出来的User中,本来的isPayed 变成了 payed

因为dubbo用的是Gson解析,所以尝试加上注解 @SerializedName("isPayed"),但是结果没变化。

后来发现,字段名貌似是从get、set方法名获取的,而这里默认生成的getter方法是 isPayed,setter是setPayed,而不是 getIsPayedsetIsPayed

解决方式
  1. 去掉is
    阿里巴巴编程规范要求bool命名不要用is,因为可能会在某些场景出问题。之所以这么做也是有迹可循的,也有很多博客展示了不同序列化工具(如jackson、fastjson)对于bool字段序列化方式的不同

  2. 修改get、set方法
    分别修改为:getIsPayedsetIsPayed

内容概要:本文档《camera流程图qcom.docx》详细阐述了Android相机子系统的架构、HAL层实现及API调用流程。文章首先介绍了相机的不同模式(如全景、夜景、HDR等),接着深入探讨了相机适配中的方向和大小问题,包括预览方向、传感器方向、图片预览方向以及SurfaceView/TextView、PreViewSize、PictureSize的设置方法。文档还详细描述了相机调试手段,如ADB TAG、底层调试工具、dumpsys命令等。随后,文章对Android Camera的整体架构进行了概览,包括旧版和新版架构的对比,以及Camera API1和API2的具体实现流程。此外,文档介绍了Camera HAL3的功能和实现,包括其与旧版HAL的区别、重要结构体及定义、HAL子系统的工作原理等。最后,文档还讨论了CamX架构,特别是其在高通平台上的实现细节,包括CHI API、体系结构模式、自定义Use Case示例、元数据和控件等内容。适用人群:具备一定Android开发经验,尤其是对相机开发感兴趣的工程师和开发者。使用场景及目标:①理解Android相机子系统的架构及其实现细节;②掌握Camera API1和API2的调用流程和区别;③熟悉相机HAL3的实现,特别是在高通平台上的CamX架构;④学习如何调试和优化相机应用,包括方向适配、大小适配、多摄像头支持等。阅读建议:本文档内容丰富且技术性强,建议读者结合实际项目需求逐步阅读,并重点关注自己感兴趣或工作中遇到的问题。对于初学者,建议先理解Camera API1和API2的基本概念和调用流程,再深入研究HAL层和CamX架构的实现细节。同时,结合文档中的调试手段,进行实践操作,以加深理解和掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值