java - spring boot 统一异常处理
2017-11-27 本文已影响45人
小菜_charry
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"}
就是这么简单 (●'◡'●)