概述

在spring boot 2.2 中 默认状态为status 999

    private void addStatus(Map<String, Object> errorAttributes, RequestAttributes requestAttributes) {
        Integer status = (Integer)this.getAttribute(requestAttributes, "javax.servlet.error.status_code");
        if (status == null) {
            errorAttributes.put("status", 999);
            errorAttributes.put("error", "None");
        } else {
            errorAttributes.put("status", status);

            try {
                errorAttributes.put("error", HttpStatus.valueOf(status).getReasonPhrase());
            } catch (Exception var5) {
                errorAttributes.put("error", "Http Status " + status);
            }

        }
    }

如果我们自定义异常信息, 默认会打印一串trace信息,但是我们不需要

 

Spring Boot 异常处理静止trace

 

 解决办法:

 

 

@Component
public class AppErrorAttribute extends DefaultErrorAttributes {
    @Override
    public Map<String, Object> getErrorAttributes(WebRequest webRequest, boolean includeStackTrace) {
        Map<String, Object> map = super.getErrorAttributes(webRequest, includeStackTrace); // 这里参数可以配置为false
        map.put("url","www.blogdgw.com");
        map.put("ext",webRequest.getAttribute("ext",0));
        // 禁止trace 覆盖 
        //map.put("trace","");
        return map;
    }
}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-06-24
  • 2021-10-28
  • 2022-02-19
  • 2021-12-12
猜你喜欢
  • 2021-10-02
  • 2019-10-31
  • 2021-08-21
  • 2022-01-12
相关资源
相似解决方案