我正在使用Spring Boot开发一个Rest应用程序。
此应用程序具有一个自定义过滤器,该过滤器仅允许在某些请求下进行访问。
如果用户需要特定资源,则过滤器将引发异常。
如何在全局级别处理此过滤器中生成的所有异常?
我已经尝试了@ControllerAdvice
批注,但是没有用。
最佳答案
首先,您应该创建一个自定义异常并将其从runtimeException扩展
public class CustomException extends RuntimeException
{
...
}
然后你可以像这样抓住它
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(CustomException.class)
public ResponseEntity handleCustomException(CustomException ex) {
return ResponseHelper.response(ex.getData(), ex.getMsg(),
ex.getStatus());
}
}