springBoot异常统一处理

本文探讨了如何在SpringBoot应用中使用@RestControllerAdvice实现全局异常处理,以避免在每个Controller层单独设定异常捕获,从而简化代码并提高日志记录的效率。通过这种方式,可以更友好地展示异常信息并统一管理线上业务异常。
摘要由CSDN通过智能技术生成
  • 很多时候,我们需要对异常进行捕捉监控,快速获知线上业务异常情况,通常是在controller层try catch进行处理,记录日志
  • 这种方式需要每个api单独设定一个异常捕获,造成大量重复工作,界面显示也非常不友好
  • 通过借助@RestControllerAdvice注解,可设置全局异常统一处理,并记录日志
@Slf4j
@RestControllerAdvice
public class DefaultExceptionHandler {

    /**缺少必要的参数*/
    @ExceptionHandler(value = MissingServletRequestParameterException.class)
    public Result missingParameterHandler(HttpServletRequest request,MissingServletRequestParameterException e) {
        this.logError(request,e);
        return Result.fail(ErrorCode.PARAM_MISSING);
    }

    /**参数类型不匹配*/
    @ExceptionHandler(value = MethodArgumentTypeMismatchException.class)
    public Result methodArgumentTypeMismatchException(HttpServletRequest request,MethodArgumentTypeMismatchException e) {
        this.logError(request,e);
        return Result
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值