zoukankan      html  css  js  c++  java
  • 记一次项目中由id类型引起的bug

     很正常的一次异步请求,但是不论怎么请求,返回结果的Id始终不对,

    此为原始Id,结构为一个很普通的分级结构,有一个parentId,

     这是查询结果浏览器中Preview的显示结果,很奇怪吧,看id不对是吧,后面三位全部都变了,

     然后再看浏览器Response中的查询结果

     格式化后如下,

    response中的返回结果是对的,然后又跑去后台debug,结果debug出来的查询结果和response中一致,

    很是奇怪,又百度了一下preview 和 response两个显示的区别,发现preview是经由浏览器格式化后的结果,

    在某个答案中发现了一句关键的话,

     又回去看了下实体类,对哦,自己的实体类确实是Long类型,

    所以赶紧换,开始的时候想着,意思是浏览器需要的String类型对吧,那就不用麻烦了,直接用fastJSON 中的JSON.toJsonString吧,

    转了之后对比Preview,

     

     确实id值是正常了,但是如果前端要解析,还得在前端自己再转一下,有点麻烦,除了JsonString,查看百度之后,很原始的toString方法也是可以的,

    尝试之后,确实可以,但弊端和转JsonString一样,后来,看了下之前公司同事写的代码,原来还有一种解决方法,只转id,不会转整个对象,牛x,而且

    也很简单,引入轮子Jackson,里面有个注解,添加到要更改的属性值上就行了,

      这样子后台传数据到前台之前,会自动把iLong类型的id转成String类型

  • 相关阅读:
    又快又准的sql瓶颈诊断方法
    Qps从300到1500的优化过程
    Mysql性能优化全揭秘-庖丁解牛
    java学习笔记16-抽象类
    java学习笔记15-封装
    java学习笔记14-多态
    java学习笔记13-重写与重载
    Git学习笔记08-远程仓库
    Python3+Appium学习笔记09-元素定位android_uiautomator
    Python3+Appium学习笔记08-元素定位
  • 原文地址:https://www.cnblogs.com/linsky/p/11449418.html
Copyright © 2011-2022 走看看