我们一般都是三层架构,controller,service,mapper
-
Mapper接口在操作数据库的时候出错了,此时异常会往上抛(谁调用Mapper就抛给谁),会抛给service。
-
service 中也存在异常了,会抛给controller。
-
而在controller当中,我们也没有做任何的异常处理,所以最终异常会再往上抛。最终抛给框架之后,框架就会返回一个JSON格式的数据,里面封装的就是错误的信息,但是框架返回的JSON格式的数据并不符合我们的开发规范。
一般解决办法有两种
1. 在所有Controller的所有方法中进行try…catch处理
2.全局异常处理器
接下来讲解全局异常处理器的使用
一般要用到两个注解@RestcontrollerAdvice和@ExceptionHandler