当前位置: 首页 > news >正文

java.math.BigDecimal is not a supported Java type

文章目录

      • 问题描述:
      • 结果:
      • 原因:
      • Thrif支持的数据类型
      • 解决:
      • 规范

问题描述:

前端查询后端的pcs总数字段,此字段需要从mydsql的db中获取。PCS字段类型为decimal(26,6),于是打算在response中使用 BigDecimal pcs来接收

结果:

报错Thrift class ‘DTO’ field ‘pcs’ type ‘java.math.BigDecimal’ is not a supported Java type

原因:

Thrift 不支持BigDecimal

Thrif支持的数据类型

https://www.cnblogs.com/horace/p/4415748.html

解决:

需要将bigdecimal 与double转换

https://www.cnblogs.com/Wenxu/p/10341182.html

规范

  1. 属性 ID 可以顺序追加,不可更改已有属性 ID & 数据类型

  2. 参数支持的容器类型: List、Set、Map

  3. 自定义异常必须继承自 AbstractThriftException,同时重写toString方法(AbstractThriftException的toString方法不够明确)

  4. Thrift 注解代码 和IDL生成的目标代码, 不能相互引用

  5. 所有的 POJO 类属性强烈建议使用包装数据类型,如果用基础类型的话无法使用IDL方式里的isSet来判断某个属性是否被赋值过。

  6. RPC 方法的返回值必须使用包装数据类型

  7. RPC 方法的参数如果是包装数据类型(Integer、Long等),同时又传null的话,服务端收到时会分配对应的基础类型的默认值。

    (注意:如果是对象内部的字段是包装数据类型的话,客户端传null值,若定义字段时有默认值,服务端会收到此值,否则收到null值)

  8. 一个类只能有一个带有@ThriftConstructor注解的构造函数

http://www.lryc.cn/news/175437.html

相关文章:

  • Unity之Hololens开发如何实现UI交互
  • 二、ubuntu主机端tftp及nfs服务开发环境安装
  • Android 12修改usb tp触摸唤醒
  • #define定义标识符详解
  • 开发者必备!如何将闲置iPad Pro打造为编程工具,使用VS Code编写代码
  • 【Java 基础篇】Java 模块化详解
  • 【2023面试题大全,都是常问面试题】
  • Bun 1.0 正式发布,爆火的前端运行时,速度遥遥领先!
  • getchar函数设置为非阻塞
  • 【超算作业调度系统--LSF】
  • L1-011 A-B分数 20
  • PHPword解析内容支撑
  • 回归预测 | MATLAB实现RUN-XGBoost龙格库塔优化极限梯度提升树多输入回归预测
  • LLM-TAP随笔——语言模型训练数据【深度学习】【PyTorch】【LLM】
  • Linux- open() lseek()
  • Halcon Tuple相关算子(一)
  • 基于图像形态学处理的路面裂缝检测算法matlab仿真
  • PY32F003F18之窗口看门狗
  • SpingBoot:整合Mybatis-plus+Druid+mysql
  • 计算机视觉与深度学习-经典网络解析-VGG-[北邮鲁鹏]
  • 入门级制作电子期刊的网站推荐
  • 软件测试内容整理
  • UniAccess Agent卸载
  • 【C++】C++11——构造、赋值使用条件和生成条件
  • 【LeetCode热题100】--56.合并区间
  • opencv dnn模块 示例(17) 目标检测 object_detection 之 yolo v5
  • 关于安卓SVGA浅尝(一)svgaplayer库的使用
  • 【LFU】一文让你弄清 Redis LFU 页面置换算法
  • Python爬虫实战:用简单四步爬取小红书图片
  • 行为型模式-解释器模式