springboot的全局异常处理 restful风格

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qpc672456416/article/details/80919536

https://blog.csdn.net/qq_34083066/article/details/79424142

这是我在网上看的博客将的最好的一篇。


我自己的全局异常处理,restful风格。

1.类上加@ControllerAdvice

2.方法上加@ExceptionHandler

@ControllerAdvice
@Slf4j
public class ExceptionHandlerAdvice {

    @ExceptionHandler(value = Exception.class)
    @ResponseBody
    public ResponseEntity<ResultVO> doExceptionHandler(Exception e){
        e.printStackTrace();
        if(e instanceof SellException) {
            log.error("业务异常:{}"+e.getMessage(), this.getClass());
            SellException sellException = (SellException)e;
            ResultVO<Object> resultVO = new ResultVO<>();
            resultVO.setCode((sellException.getCode()));
            resultVO.setMessage(sellException.getMessage());
            return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body(resultVO);
        }
        //未知错误
        ResultVO<Object> resultVO = new ResultVO<>(-1, "系统异常");
        return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body(resultVO);
    }
}

展开阅读全文

没有更多推荐了,返回首页