在写到springboot的全局异常的处理时,在这里直接先展示一个简单的示例:
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import java.util.HashMap; import java.util.Map; @ControllerAdvice//这里注解相当于定义一个切面 public class GolbeException { @ExceptionHandler(RuntimeException.class)//表示拦截运行时的异常 @ResponseBody//使处理拦截返回的结果是json类型的字符串 public Map<String,Object> exceptionHandle(){ Map<String ,Object> result = new HashMap<String, Object>(); result.put("status","false"); result.put("code","500"); result.put("msg","系统错误,请稍后重试!"); return result; } }关于全局异常的处理,一直都是项目中比较重要的一块,具体的处理方法往往要根据项目的实际情况来设置,这里只是简单的抛出一个小例子,以下简单的进行说明一下:
这里处理异常我们需要写一个类文件,使用ControllerAdvice注解,这个注解的作用就相当于spring框架中配置的切面部分,在这里,当我们的项目出现异常的时候,它就会执行这里的exception方法
ExceptionHandler注解用于限制我们需要拦截的异常的类型,这里表示只对运行时的异常进行拦截(RuntimeException)
ResponseBody这是一个前面我们已经提到过的注解,这里可以是我们的返回的结果以json的形式展现出来,
例如下面的结果显示:
{"msg":"系统错误,请稍后重试!","code":"500","status":"false"}