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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
关于Spring中的@Configuration中的proxyBeanMethods属性
这篇文章主要介绍了关于Spring中的@Configuration中的proxyBeanMethods属性,需要的朋友可以参考下2023-07-07SpringBoot 使用 Sa-Token 完成注解鉴权功能(权限校验)
Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题,这篇文章主要介绍了SpringBoot使用Sa-Token完成注解鉴权功能,需要的朋友可以参考下2023-05-05Spring Boot利用JSR303实现参数验证的方法实例
这篇文章主要给大家介绍了关于Spring Boot利用JSR303实现参数验证的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2020-05-05
最新评论