SpringBoot统一错误处理
Posted SimonHu1993
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于SpringBoot统一错误处理的主要内容,如果未能解决你的问题,请参考以下文章