SpringBoot中@RestControllerAdvice注解的使用
更新时间:2024年01月19日 09:05:03 作者:景庆197
这篇文章主要介绍了SpringBoot中@RestControllerAdvice注解的使用,@RestControllerAdvice主要用精简客户端返回异常,它可以捕获各种异常,需要的朋友可以参考下
1.主要作用
@RestControllerAdvice主要用精简客户端返回异常,它可以捕获各种异常
2.判断异常的类型
- 后端数据校验异常
- 未授权异常
- 自定义异常
- 普通异常
3.实现
未优化前

import com.qing.emos.wx.exception.EmosException;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.UnauthorizedException;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.*;
@Slf4j
//@RestControllerAdvice可以捕获SpringMVC异常
@RestControllerAdvice
public class ExceptionAdvice {
@ResponseBody
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
// ExceptionHandler用于全局捕获异常
@ExceptionHandler(Exception.class)
public String validExcepionHandler(Exception e){
log.error("执行异常",e);
// 后端验证失败的异常,参数没传,或者传的不对
if(e instanceof MethodArgumentNotValidException){
MethodArgumentNotValidException exception = (MethodArgumentNotValidException) e;
return exception.getBindingResult().getFieldError().getDefaultMessage();
}
// 精简异常的内容,EmosException为自己定义异常
else if(e instanceof EmosException){
EmosException exception = (EmosException) e;
return exception.getMsg();
}
// 未授权异常
else if(e instanceof UnauthorizedException){
return "你不具备相关权限";
}
// 普通异常
else {
return "后端执行异常";
}
}
}优化后

到此这篇关于SpringBoot中@RestControllerAdvice注解的使用的文章就介绍到这了,更多相关SpringBoot的@RestControllerAdvice内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- SpringBoot中@RestControllerAdvice注解实现全局异常处理类
- springboot的统一异常处理,使用@RestControllerAdvice详解
- SpringBoot项目中@RestControllerAdvice全局异常失效问题的解决
- SpringBoot中@RestControllerAdvice @ExceptionHandler异常统一处理类失效原因分析
- SpringBoot的@RestControllerAdvice作用详解
- SpringBoot常用注解@RestControllerAdvice详解
- SpringBoot中的@RestControllerAdvice注解详解
- SpringBoot @RestControllerAdvice注解对返回值统一封装的处理方法
- SpringBoot中@RestControllerAdvice 全局异常处理的实现
相关文章
Java 8 Stream Api 中的 map和 flatMap 操作方法
Java 8提供了非常好用的 Stream API ,可以很方便的操作集合。今天通过这篇文章给大家分享Java 8 Stream Api 中的 map和 flatMap 操作方法,需要的朋友可以参考下2019-11-11
Spring报错:Error creating bean with name的问
这篇文章主要介绍了Spring报错:Error creating bean with name的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-08-08
springboot开启mybatis驼峰命名自动映射的三种方式
这篇文章给大家总结springboot开启mybatis驼峰命名自动映射的三种方式,文章并通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下2024-02-02
AsyncHttpClient RequestFilter请求筛选源码解读
这篇文章主要为大家介绍了AsyncHttpClient RequestFilter请求筛选源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-12-12


最新评论