@RestControllerAdvice都是对Controller进行增强的,可以全局捕获spring mvc抛的异常。
@ExceptionHandler(value = Exception.class)
ExceptionHandler的作用是用来捕获指定的异常。
@RestControllerAdvice(annotations = RestController.class) public class UniformReponseHandler2. ControllerAdvice 和 RestControllerAdvice的区别{ @ResponseStatus(HttpStatus.OK) public CallResultMsg sendSuccessResponse(){ return new CallResultMsg(true, CodeAndMsg.SUCCESS, null); } @ResponseStatus(HttpStatus.OK) public CallResultMsg sendSuccessResponse(T data) { return new CallResultMsg(true, CodeAndMsg.SUCCESS, data); } @ExceptionHandler(UserDefinedException.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public CallResultMsg sendErrorResponse_UserDefined(Exception exception){ return new CallResultMsg(false, ((UserDefinedException)exception).getException(), null); } @ExceptionHandler(Exception.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public CallResultMsg sendErrorResponse_System(Exception exception){ if (exception instanceof UserDefinedException) { return this.sendErrorResponse_UserDefined(exception); } return new CallResultMsg(false, CodeAndMsg.UNKNOWEXCEPTION, null); } }
@ControllerAdvice 和 @RestControllerAdvice都是对Controller进行增强的,可以全局捕获spring mvc抛的异常。
RestControllerAdvice = ControllerAdvice + ResponseBody



