首先我们先看源码
@Bean
@ConditionalOnMissingBean(
value = {ErrorAttributes.class},
search = SearchStrategy.CURRENT
)
public DefaultErrorAttributes errorAttributes() {
return new DefaultErrorAttributes(this.serverProperties.getError().isIncludeException());
}
如果我们的工程中没有自己配置error的配置的话,就会执行他默认给你的error信息并且返回给你.
所以我们就可以重写,甚至自定义一些错误信息了:
然后新建一个MyErrorAttribute类并继承DefaultErrorAttributes.因为DefaultErrorAttributes已经帮我们写了一些异常信息.或者和DefaultErrorAttribute一样去实现ErrorAttributes接口,当然,这样我们就需要去收集所有的错误信息了.
@Component
public class MyErrorAttribute extends DefaultErrorAttributes {
@Override
public Map<String, Object> getErrorAttributes(WebRequest webRequest, boolean includeStackTrace) {
Map<String,Object> map=super.getErrorAttributes(webRequest,includeStackTrace);
map.put("myerror","这是我自定义的异常信息");
return map;
}
}
好了,这样我们的自定义的Error数据便写好了,下面我们来演示一下成果吧