欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

SpringBoot全局异常处理

时间:2023-07-09

在SpringBoot默认的异常处理是返回一个HTML页面,但是在前后端分离的开发模式下,服务器出现异常应该以json格式返回数据给前端。

@ControllerAdvicepublic class GlobalExceptionAdvice { // 捕获所有异常 @ExceptionHandler(Exception.class) // 以rest方式响应给客户端 @ResponseBody public Object exceptionHandler(Exception e){ Map map = new HashMap<>(); map.put("error", e.getMessage()); map.put("status", HttpServletResponse.SC_INTERNAL_SERVER_ERROR); map.put("exception", e.getClass().getName()); map.put("timestamp", new Date()); HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.getRequestAttributes())).getRequest(); HttpServletResponse response = ((ServletRequestAttributes) (RequestContextHolder.getRequestAttributes())).getResponse(); map.put("path", request.getRequestURI()); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return map; }}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。