代码小白,记录自学制作谷粒商城遇到的坑 如有错误请轻喷
1.问题的出现:关于[500] during [POST]以及null空指针
在做到发布商品的时候突然报了一个post500的错误,这比较诡异啊。这个错误出现的场景其实有很多,比如你的@RequestBody没加,比如少了getset方法或者是@data注解失效了,还有可能就是你的方法写错了,返回了空值他也会报这个错,我就是这个问题。这个比较离谱的一个点就是在基础篇中基本上都没做非空判断,导致出了问题就看起来五花八门的。我细细排查发现在远程被调用方Controller层中 传过去的参数都存在,但是唯独少了一个值 List<MemberPrice>
这不对吧,我的值都是直接由Beanutils.copyProperties拷贝过去的,怎么可能会少这个值呢?
2.确定问题出现的位置
于是我又仔细的看了一下我之前做的遍历中的skus的值中是否还存在着memberprice,结果发现人好好的在那边没出错,是存在着的,而到了远程被调用方就唯独少了它一个值导致出现null值以及[500] during [POST]的问题。我最后怀疑是BeanUtils或许漏掉了List<Memberprice>没给他复制过去。
3.解决问题
当我尝试使用Set方法插入的时候,出现了不同MemberPrice类的提示,仔细检查后 发现在To和Vo中都存在有一个名为MemberPrice的实体类。然后我删了一个,将SkuReductionTo和Skus中的MemberPrice都引用同一个MemberPrice,问题就解决了....
总结:不知道说啥好但是我感觉很离谱,还是要仔细研究一下常用工具类