soicano
2018-05-15 14:44
完全复制老师代码,利用postman删除一条数据时,抛出异常 空针,直接忽略还是需要处理?
java.lang.NullpointerException:null 请问需要如何处理?
@DeleteMapping("/luckymoneys/{id}") public Result deleteById(@PathVariable Integer id){ service.delete(id); return ResultUtil.success(null); }
public void delete(Integer id) { Luckymoney luckymoney = new Luckymoney(); luckymoney.setId(id); repository.delete(luckymoney); }
@Pointcut("execution(public * com.imooc.luckymoney.controller.LuckMoneyController.*(..)) && !execution(public * com.imooc.luckymoney.controller.LuckMoneyController.delete*(..))" ) public void log() { }
把delete从切入表达式中去除。或者新定义一个切入表达式,让delete方法使用该切入点↓
@Pointcut("execution(public * com.imooc.luckymoney.controller.LuckMoneyController.*(..)) && !execution(public * com.imooc.luckymoney.controller.LuckMoneyController.delete*(..))" ) public void logByDel(){ }
@DeleteMapping("/girls/{id}") public void girlDelete(@PathVariable("id") Integer id){ girlRepository.deleteById(id); throw new GirlException(ResultEnum.SUCCESS); }
无返回值的加个
throw new GirlException(ResultEnum.SUCCESS);
就饿可以了
应该是deleteGirl方法没有返回值,所以(@AfterReturning(returning = "object",pointcut = "log()"))doAftereReturning方法中参数Object为null,然后toString报的空指针吧
我的也会出现这种情况,能成功删除数据,但是会报空指针错误!
数据库没数据吧
Spring Boot进阶之Web进阶
104039 学习 · 393 问题
相似问题