weixin_40001395
weixin_40001395
2020-12-02 04:33

关于使用BigDecimal类型数据时,dubbo序列化错误问题

default default 其他接口调用正常,此接口其中一个参数为BigDecimal类型,服务端报错,错误提示如下,麻烦帮忙看下是什么问题。 default

该提问来源于开源项目:omnip620/node-zookeeper-dubbo

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • weixin_40001395 weixin_40001395 4月前

    是否是userId参数,传递需要特殊处理 ?

    点赞 评论 复制链接分享
  • weixin_39894778 weixin_39894778 4月前

    试试这样'$': { value: userId }

    点赞 评论 复制链接分享
  • weixin_40001395 weixin_40001395 4月前

    你是说dubbo的接口入参配置 这样设置 ?

    点赞 评论 复制链接分享
  • weixin_39894778 weixin_39894778 4月前

    对 就你截图 红框圈起来的$那部分

    点赞 评论 复制链接分享
  • weixin_40001395 weixin_40001395 4月前

    多谢!问题解决了 。什么情况下 需要配置改成{ value : param } 这种格式的 ?另外,现在这种与dubbo服务 是否是使用的长连接 ?还是每次都是new 的socket ?

    点赞 评论 复制链接分享
  • weixin_39894778 weixin_39894778 4月前

    这个是跟hessian的java实现有关的,里面有个BigDecimalDeserializer类,看下这个应该你就明白了,理论上来讲这里应该模拟java的做法,在底层把{ value : param }这一步做了。 现在是用socket,不过每次调完方法就把连接断开了 😂,等等吧,会彻底改成长连接的。

    点赞 评论 复制链接分享
  • weixin_40001395 weixin_40001395 4月前

    非常感谢!!!

    点赞 评论 复制链接分享
  • weixin_39952182 weixin_39952182 4月前

    项目需求nodejs连接dubbo接口,找到node-zookeeper-dubbo很不错,但是复杂java对象却很难开发。网上也没搜到这方面的工具,索性自己写了个,经过多次调试试错,实现了普通json自动转换为dubbo可识别的java序列化对象,可支持java实体类内嵌实体类及内嵌List这种转化,简单高效,现在实现的比较简单,就是个工具类,有兴趣的同学欢迎包装为nodejs通用插件或eggjs插件:https://github.com/harryhan1989/json-to-java

    点赞 评论 复制链接分享