spring boot自定义异常信息

/error端点的实现来源于springboot的org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController它的具体定义如下:
在这里插入图片描述
从源码中可以看到,它的实现非常简单,通过调用getErrorAttribute方法来根据请求参数组织错误信息的返回结果,而这里的getErrorAttributes方法会将具体信息组织逻辑委托给org.springframework.boot.web.servlet.error.ErrorAttributes接口提供的getErrorAttributes来实现。在spring boot的自动化配置中,默认会采用org.springframework.boot.web.servlet.error.DefaultErrorAttributes作为该接口的实现(ErrorMvcAutoConfiguration)。
如下代买定义了error处理的自动化配置
在这里插入图片描述
该接口的默认实现采用了*@ConditionalOnMissingBean*修饰,说明DefaultErrorAttributes对象实例仅在没有ErrorAttributes接口的实例时才会被创建来使用,所以我只需要自己编写自定义的ErrorAttributes接口实现类,就能替代默认实现。简单的实例除去exception信息

public class DidErrorAttributes extends DefaultErrorAttributes{

	@Override
	public Map<String, Object> getErrorAttributes(WebRequest webRequest, boolean includeStackTrace) {
		Map<String, Object> map = super.getErrorAttributes(webRequest, includeStackTrace);
		map.remove("exception");
		return map;
	}

}

在这里插入图片描述
这样就可以替代了

发布了10 篇原创文章 · 获赞 0 · 访问量 240

猜你喜欢

转载自blog.csdn.net/qq_43677987/article/details/104006988