zoukankan      html  css  js  c++  java
  • Java SpringBoot全局错误处理类,返回标准结果

    package demo.utils;
    
    import com.alibaba.fastjson.JSON;
    import demo.controller.ProductController;
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.RestControllerAdvice;
    
    /**
     * Controller全局错误捕获类
     */
    @RestControllerAdvice  //拦截异常并统一处理
    public class ExceptionIntercept {
        public static final String PLAT_ERROR = "PLAT_ERROR";
        // Logger和LogManager导入的是org.apache.logging包
        private static final Logger logger = LogManager.getLogger(ProductController.class);
    
        @ExceptionHandler(Exception.class)
        public MessagePack handler(Exception ex) {
            //返回错误数据包
            MessagePack pack = new MessagePack();
            pack.setCode(MessagePack.ERROR);
            pack.setMessage(ex.getMessage());
            pack.setStatus(PLAT_ERROR);
            //同时记录错误日志
            logger.error("Controller全局错误捕获类==>" + JSON.toJSONString(pack));
            return pack;
        }
    }
    
    package demo.utils;
    
    import java.io.Serializable;
    
    /**
     * 统一返回消息类
     */
    public class MessagePack implements Serializable {
        public static final long OK = 0;
    
        public static final long ERROR = -1;
    
        // 状态码
        private long code;
        // 信息
        private String message;
        // 携带的值
        private Object object;
        // 状态信息
        private String status;
    
        public long getCode() {
            return code;
        }
    
        public void setCode(long code) {
            this.code = code;
        }
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    
        public Object getObject() {
            return object;
        }
    
        public void setObject(Object object) {
            this.object = object;
        }
    
        public String getStatus() {
            return status;
        }
    
        public void setStatus(String status) {
            this.status = status;
        }
    }
    

      

  • 相关阅读:
    idea 设置注释
    SVN解决冲突
    mysql执行 sql文件遇到USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8错误
    如何查看JDK以及JAVA框架的源码
    一道常被人轻视的前端JS面试题
    Js 常用调试的方法
    主要的Ajax框架都有什么?
    Ajax使用的五步法
    Java正则表达式
    查出在当天所处的日期区间的某些数据
  • 原文地址:https://www.cnblogs.com/smartsmile/p/11625792.html
Copyright © 2011-2022 走看看