16、SpringBoot-CRUD错误处理机制(3)

3)、将自己指定的数据携带出去

出现错误以后,会来到/error请求,会被BasicErrorController 进行处理
响应出去的数据是由 getErrorAttributes 得到的( AbstractErrorController的方法)
protected Map<String, Object> getErrorAttributes(HttpServletRequest request,
     boolean includeStackTrace) {
WebRequest webRequest = new ServletWebRequest(request);
return this.errorAttributes.getErrorAttributes(webRequest, includeStackTrace);
}
3.1、完全来编写一个ErrorController的实现类【或者是编写AbstractErrorController的子类】,放在容器中
 
3.2、页面上能用的数据,或者是json返回能用的数据都是通过errorAttributes.getErrorAttributes得到
        容器中DefaultErrorAttributes.getErrorAttributes();默认进行数据处理的;
public abstract class AbstractErrorController implements ErrorController {
private final ErrorAttributes errorAttributes;
...
}

此时自定义的错误代码中的字段并没有显示

//给容器中加入
@Component
public class MyErrorAttributes extends DefaultErrorAttributes {
@Override
public Map<String, Object> getErrorAttributes(WebRequest webRequest,
boolean includeStackTrace) {
Map<String, Object> map =super.getErrorAttributes(webRequest,includeStackTrace);
map.put("user","user...");
return map;
}
}

16、SpringBoot-CRUD错误处理机制(3)

16、SpringBoot-CRUD错误处理机制(3)

错误页面:
16、SpringBoot-CRUD错误处理机制(3)aaarticlea/png;base64,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" alt="" />
16、SpringBoot-CRUD错误处理机制(3)aaarticlea/png;base64,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" alt="" />

自定义异常的字段

@ControllerAdvice
public class MyException {
@ExceptionHandler(UserException.class)
public String userExc(Exception e, HttpServletRequest request){
Map<Object,String> map = new HashMap<>(); //传入我们自己的错误状态码 4xx 5xx
/**
* Integer statusCode = (Integer) request
.getAttribute("javax.servlet.error.status_code");
*/
request.setAttribute("javax.servlet.error.status_code",); map.put("code","user.not.exist");
map.put("message","mymessage");
request.setAttribute("exc",map); return "forward:/error";
}
}
//给容器中加入
@Component
public class MyErrorAttributes extends DefaultErrorAttributes { //返回的值map就是页面和json能获取的所有字段
@Override
public Map<String, Object> getErrorAttributes(WebRequest webRequest,
boolean includeStackTrace) { Map<String, Object> map =super.getErrorAttributes(webRequest,includeStackTrace); map.put("user","user..."); //自己的异常处理器携带的数据
//0 是request中
//1 是session中
Map<String, Object> exc = (Map<String, Object>) webRequest.getAttribute("exc", ); map.put("exc",exc);
return map;
}
}

错误的页面:

<h1>status:[[${status}]]</h1>
<h1>timestamp:[[${timestamp}]]</h1>
<h1>error:[[${error}]]</h1>
<h1>message:[[${message}]]</h1>
<h1>user:[[${user}]]</h1>
<h1>exc.code:[[${exc.code}]]</h1>
<h1>exc.message:[[${exc.message}]]</h1>

16、SpringBoot-CRUD错误处理机制(3)

16、SpringBoot-CRUD错误处理机制(3)

上一篇:深入理解abstract class和interface


下一篇:Table of Contents - MongoDB