一、背景
在服务端处理前端发过来的响应的时候,开发者不可能穷尽用户的所有奇怪的操作。除此之外,我们还需要应付前端人员对我们的无情吐槽,你对XXXX请求返回的为啥是奇怪的响应数据呢?于是全局异常处理应运而生,一次处理,全部有效。
图1:使用之前
图2:使用之后
二、如何操作?
我们在项目文件下创建一个exception包,包下再创建一个捕获异常类即可,类中内容如下:
package com.bytedance.exception;
import com.bytedance.pojo.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;
//全局异常处理器
@RestControllerAdvice
public class GlobalExceptionHandler{
@ExceptionHandler(Exception.class)
public Result ex(Exception e){
e.printStackTrace();
return Result.error("对不起,操作失败,请联系管理员");
}
}
这样再重启服务就可以了,关键就在于@RestControllerAdvice和@ExceptionHandler这两个注解,注意引入的包名改成自己的,以防止一些编译错误~