java - spring boot 统一异常处理


title: spring boot 统一异常处理
categories: java #文章文类
tags: [java] #文章标签,多于一项时用这种格式


1. 自定义 Exception

public class MyException extends Exception {

    public MyException(String message) {
        super(message);
    }
}

2. 定义异常处理类

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(value = MyException.class) // 指定异常类
    @ResponseBody // 返回 json 格式
    public String jsonErrorHandler( MyException e){
        return JsonHelper.error(e.getMessage());
    }
}

3. 使用

@RequestMapping("/testError")
 public String error(@RequestParam(value = "type",required = false) int type) throws MyException {
     if (type == 1) {
         throw new MyException("自主抛出异常"); // 抛异常 throw
     }
     return JsonHelper.success("ok");
 }

4. 测试

  • 输入: http://localhost:9090/testError?type=0

    返回: {"msg":"成功","code":0,"data":"ok","status":"0"}

  • 输入:http://localhost:9090/testError?type=1

    返回: {"msg":"失败","code":1,"data":"自主抛出异常","status":"1"}

就是这么简单 (●'◡'●)

你可能感兴趣的:(java - spring boot 统一异常处理)