将所有的异常处理集中到一个地方,不仅使得每个原始api方法(即RequestMapping注解的方法)更加简洁,而且减少了很多的冗余代码,比如利用Spring提供的AOP特性,只需要写一个ApiExceptionHandler,然后实现一个doAround方法,并使用aop将api的包路径注解进来,这样所有包路径下的api抛出的异常都会走到这个doAround里面处理。具体可能分好多种异常,有自定义的,也有jdk定义的,可以使用if(e instanceof XxxException)进行分别处理。
同理,其他场景也可以利用aop进行简化。
感受aop的强大吧;-)