Date 对象在http和dubbo中被转义

Date 对象在http和dubbo中被转义

最近继上次 http接口改造为dubbo接口进行限流处理的后续工作,一共有9个接口需要进行改动,当时是全部改好了,也都验证没有问题的,昨天突然发现有个接口的在一个位置调用的没有数据展示出来,这就很奇怪了,其他位置也调用了,这里开启大家的聪明的小脑袋思考一下 问题会出现在哪里的




思考:

  1. 运营没有配置,或者大数据没有推荐,接口针对这个位置没有返回数据
  2. 接口有数据,数据被改变了
  3. 前端接收有问题
  4. 接口改造有问题,需要定位问题点

好了,生产有问题了,现在来排查,基本可以确定这几点,小伙子们不要摸鱼了,开始工作了,生产接口调用,有数据返回,数据格式对比,没有改变,接口只是web层进行了改变从http改为了RPC调用,没有对内部改变,好了现在只有问题3存在了,我们知道App有两套,安卓和IOS ,ios都正常的,经过一系列测试都没有问题,就安卓有,心里更慌了,用户70%是安卓用户.

Date 对象在http和dubbo中被转义
安卓和ios 又要开始被对比了,为什么ios可以的 哈哈哈哈哈哈

言归正传了,这个不算难查,必现情况的
Date 对象在http和dubbo中被转义

先给结果 这是现在生产的

改造完dubbo返回给前端的:

Date 对象在http和dubbo中被转义

原来的http:

Date 对象在http和dubbo中被转义

聪明的你们一眼就可以看出问题了,这里的 updateAt 返回的是时间Date出去的,原来的接口没有做好,一些没有必要的参数不应该传出去的,哎,不管了后面优化,这接口都比我工纪大了,也不容易,为什么这个字段的改变会影响前端了呢,这也不符合逻辑啊,前端的的错误异常是转换异常,前端的获取的这个用的是Long来接收的,现在的走了Dubbo返回的是字符串,大家也看到了,所以这怎么转,

Date 对象在http和dubbo中被转义

好,我承认这有问题,被框架转义了,我写demo可以试一下,但是你安卓为什么接呢,以前的不接这个字段.

Date 对象在http和dubbo中被转义

Demo:展示:
Date 对象在http和dubbo中被转义Date 对象在http和dubbo中被转义

dubbo 的底层为什么会对Date 进行转,还得有待研究一下,看后续吧