如果出现,XXX属性值为null,而且前端报
这种时候由于前端的报错不像后端那样具体明显,可以快速的根据异常信息定位到那一行代码发生的错误,让人很头疼,我在多次碰壁后总结了一下这个问题:
- 第一:首先
Access-Control-Allow-Origin 这个问题,第一个想到的应该是跨域问题是否解决,一般解决办法是在你的应用中添加跨域组件(配置类),或者是加@CrossOrigin 注解解决。 - 第二:当然如果你使用了
nginx 做反向代理,那一定也要记得检查一下nginx的config配置文件。 - 第三:如果已经解决了跨域问题,那就检查后端接口是否正确,返回数据是否符合前端要求,而且要注意的是返回的数据属性和前端接收的属性是否要求一致(这里很容易出现错误,但是很难发现,大小写问题、符号问题等)。
检查后端接口的工具:PostMan,Swagger 。 - 第四:前两步没有问题,那么一定是前端在访问接口时的
路径、提交方式、提交参数 导致访问不到接口,也会报出这样的错误。一般方法是在js中打上断点,采用debugger 的方式,一步一步的检查方法调用过程中那些数据出现了问题,直到找到,或者直至采用console.log() 直接输出数据信息来进行检查,检查哪里为null了,检查那么没有调用到。
这里分享我的一个比较坑的一个错误,以上四步我都检查完毕,但是还是解决不了问题,最后发现,我的接口中用到的参数是