记一次项目中由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類型
?
轉載于:https://www.cnblogs.com/linsky/p/11449418.html
總結
以上是生活随笔為你收集整理的记一次项目中由id类型引起的bug的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DOM文档对象模型
- 下一篇: ubuntu “快捷方式”