项目错误收集
1.错误一:org.apache.ibatis.binding.BindingException
自测出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
这个问题,检查过xml和dao的包名,以及网上出现的各种相关情况都没有发现任何问题,最后发现是远程机器上的config配置文件,少了mapper的映射.加上映射后就没有问题了
2.错误二:NullPointerException
最常见的空指针异常,当时代码如下:
/**
* 用户快捷登录前的查询接口
*
* @return 用户信息
*/
@PostMapping("/quickSelect")
public Result userQuickSelect(LoginRegisterVO registerVO) {
logger.info("调用-用户快捷登录前的查询接口-参数-" + registerVO);
HashMap<String, Object> map = null;
try {
ValidationUtils.validate(registerVO);
map = userInfoService.selectUserInfoByPhone(registerVO.getPhone());
logger.info("成功-用户快捷登录前的查询接口-结果-" + map);
} catch (BizException e) {
logger.error("fail-用户快捷登录前的查询接口-结果-" + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
logger.error("fail-用户快捷登录前的查询接口-结果-" + e.getMessage());
}
if (map == null || map.get("id") == null || map.get("name") == null || map.get("ut") == null
|| map.get("phone") == null || map.get("picture") == null) {
// 未查询出结果(0是未注册,1已注册)
//map.put("isRegister", 0);
HashMap<String, Object> map1 = new HashMap<>();
map1.put("isRegister", 0);
return Result.createSuccess("查询完毕", map1);
}
//有数据结果
map.put("isRegister", 1);
return Result.createSuccess("查询完毕", map);
}
很是费解,在程序运行到map.put("isRegister", 0);
时就会报出空指针,解决方法是重新new了一个hashmap,再put,这样就解决了.
3.在今天写springcloud时的一个feign接口时,总是出现自定义的异常bizException,因为太久没写过springcloud项目了,所以没有仔细看,但还是很快定位了问题的所在,项目依赖的另外一个项目的原接口是没有问题的,那么问题就出在feign接口上,直接debug,发现每次运行到remote接口时,总是报错,仔细看了一下异常信息,发现是路径不对,后来看依赖的remote发现,@feignClient的path属性是应该与我自己项目的@RequestMapping(“path”)要与之对应,很久没写feign接口,这个属性都忘记了,这次记下来,下次再忘了时,拿出来看看.
4.解决完了问题3后,又出现了一个问题,同一个类下的接口,第一个能访问成功,第二个就是成功不了,debug时,发现提示是参数错误,总是接到null,仔细看了一下,发现是接口类型时get,但用postman测试时,却用了body来传递参数,这个是post类型传递的,实在是不应该犯这种错误,极度浪费时间