zoukankan      html  css  js  c++  java
  • SpringBoot统一错误处理

    1.处理错误请求页面

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.autoconfigure.web.ErrorController;
    /** 
    *
    @author SimonHu
    * @Description:
    * @Created on 2018/7/11 10:46
    */
    @Controller @RequestMapping(value = "error")
    public class BaseErrorController implements ErrorController {
    @Value(
    "${siteConfig.html_base_path}")
    private String html_base_path;
    private static final Logger logger = LoggerFactory.getLogger(BaseErrorController.class);
    @Override
    public String getErrorPath() { logger.error("出错啦2!进入自定义错误控制器");
    //默认返回错误页面,自定义;
    return "process/process"; } @RequestMapping public String error(HttpServletResponse response) throws IOException { return getErrorPath(response); } public String getErrorPath(HttpServletResponse response) throws IOException { logger.error("出错啦1!进入自定义错误控制器");
    //重定向到新的页面,请求url response.sendRedirect(html_base_path
    +"design/showMyWorks"); return ""; } }

     2.全局错误处理

    import com.zhx.commonentity.CommonResult;
    import com.zhx.constants.CodeMsgEnum;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import javax.servlet.http.HttpServletRequest;
    
    /**
     * @author SimonHu
     * @Description:
     * @Created on 2018/6/25 10:15
     */
    @ControllerAdvice
    public class GlobalDefultExceptionHandler {
        private static final Logger logger = LoggerFactory.getLogger(GlobalDefultExceptionHandler.class);
        @ExceptionHandler(Exception.class)
        @ResponseBody
        public CommonResult defultExcepitonHandler(HttpServletRequest request, Exception e) {
            logger.error("错误信息:",e);
            return CommonResult.result(CodeMsgEnum.SYS_ERROR.getCode(),CodeMsgEnum.SYS_ERROR.getMsg());
        }
    }

    借鉴:https://blog.csdn.net/zhaozhirongfree1111/article/details/72526885

  • 相关阅读:
    整理一些笔试题(要求手写代码的)
    网络笔试题
    链表-单链表的各种操作
    C语言-排序-希尔排序
    C语言-排序-选择排序
    C语言-排序-归并排序
    C语言-排序-插入排序
    [转载]iOS 10 UserNotifications 框架解析
    Objective-C枚举的几种定义方式与使用
    【转载】iOS屏幕适配设计
  • 原文地址:https://www.cnblogs.com/SimonHu1993/p/9293451.html
Copyright © 2011-2022 走看看