• 记一次项目中由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类型

  • 相关阅读:
    作业DAY002
    作业DAY001
    作业 5:词频统计——增强功能
    在JdbcTemplate里面关于queryForMap返回值的疑问
    直接打印map, 为什么能直接输出value
    JdbcTemplate jar包 下载
    edge 修改链接打开方式
    Java中的判断实例
    关于Junit4 和 Junit5.4
    关于函数式接口, printable 自定义
  • 原文地址:https://www.cnblogs.com/linsky/p/11449418.html
Copyright © 2020-2023  润新知