我已经使用@ControllerAdvice定义了ExceptionHandler并捕获了以下内容
Exception.class,Throwable.class,SQLException.class
当用户输入服务器中不存在或不可用的页面时。圆形视图页面错误正在日志中显示,并且不会调用ExceptionHandler。
在CustomExceptionHandler中捕获API错误的常见检查点是什么?不确定是否有任何tomcat挂钩定义。
使用Spring Boot 2.0和Spring 5.0版
感谢。
答案 0 :(得分:1)
如果:用户输入不存在的页面/资源,则不会抛出异常。所以你的代码不起作用(我相信你的代码类似于下面的代码)
@ControllerAdvice
public class ErrorHandler {
@ExceptionHandler(Exception.class)
public String handle() {
....
return "error"
}
}
为了使其工作,您需要将您的处理程序类从ResponseEntityExceptionHandler
扩展为
@ControllerAdvice
public class ErrorHandler extends ResponseEntityExceptionHandler {
...
}
你需要覆盖以下方法
详细指南可从中找到
- https://blog.jayway.com/2013/02/03/improve-your-spring-rest-api-part-iii/
- http://www.baeldung.com/global-error-handler-in-a-spring-rest-api
另一种方法是,如果在所有一般情况下都有固定消息,您可以覆盖/error
。