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

 

posted @ 2019-09-02 22:16  o_osky  阅读(197)  评论(0编辑  收藏  举报