zoukankan      html  css  js  c++  java
  • spring Cloud 全局异常捕获

    通过@RestControllerAdvice来处理。

    @RestControllerAdvice
    public class GlobalExceptionAdvice {
     
        @ExceptionHandler(value = Exception.class)
        public ApiResult<String> handlerAdException(HttpServletRequest request, Exception ex) {
            ApiResult<String> response = new ApiResult<>();
            response.setCodeToError(ex.getMessage());
            return response;
        }
    }
    ApiResult 是我自己包装的返回结果
    public class ApiResult<T> {
        public static final String FAIL_CODE = "0";
        public static final String SUC_CODE = "1";
        public static final String ERROR_CODE = "2";
        public static final String SUC_MESSAGE = "Operate successfully";
        public static final String FAIL_MESSAGE = "Operation failure";
        public static final String ERROR_MESSAGE = "System Error";
        public static final String NOACCESS_MESSAGE = "No permission to access this page.";
     
        private String code = FAIL_CODE;
        private String message = FAIL_MESSAGE;
        private T data;
     
        public String getCode() {
            return code;
        }
     
        public void setCode(String code) {
            this.code = code;
        }
     
        public void setCode(String code, String message) {
            this.code = code;
            this.message = message;
        }
     
        public void setCodeToSuccessed() {
            this.code = SUC_CODE;
            this.message = SUC_MESSAGE;
        }
        public void setCodeToSuccessed(T data) {
            this.data = data;
            this.code = SUC_CODE;
            this.message = SUC_MESSAGE;
        }
        
        public void setCodeToError(String message) {
            this.code = ERROR_CODE;
            this.message = message;
        }
        
        public void setCodeToError() {
            this.code = ERROR_CODE;
            this.message = ERROR_MESSAGE;
        }
     
        public void setCodeToFail(String message) {
            this.code = ERROR_CODE;
            this.message = message;
        }
     
        public void setCodeToFail() {
            this.code = FAIL_CODE;
            this.message = FAIL_MESSAGE;
        }
        
        public void setCodeByNoAccess() {
            this.code = FAIL_CODE;
            this.message = NOACCESS_MESSAGE;
        }
     
        public String getMessage() {
            return message;
        }
     
        public void setMessage(String message) {
            this.message = message;
        }
        
        public boolean isSuccess() {
            return SUC_CODE.equals(code);
        }
     
        public T getData() {
            return data;
        }
     
        public void setData(T data) {
            this.data = data;
        }
        
        
        
    }
  • 相关阅读:
    CC DGCD:Dynamic GCD——题解
    BZOJ2243:[SDOI2011]染色——题解
    POJ1990:MooFest——题解
    POJ2299:Ultra-QuickSort——题解
    POJ2352:Stars——题解
    模板:树链剖分
    BZOJ1036:[ZJOI2008]树的统计——题解
    国务院正式“回应”马云:绝对不允许孩子们在30年后找不到工作!
    接口测试用例设计实践总结
    接口测试用例设计实践总结
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/14894856.html
Copyright © 2011-2022 走看看