【发布时间】:2015-12-12 13:12:23
【问题描述】:
我正在使用 Spring 4 和 Tomcat。问题是有时我必须在我的过滤器中抛出一个(自定义)RuntimeException(控件甚至没有到达控制器)。问题是因为我没有抛出 tomcat 理解的异常,它被转换为 500(内部服务器错误)。我相信 403 Forbidden 会比 500 更好(对于我的自定义例外)。我看过@ExceptionHandler 和@ControllerAdvice 注释。但这些只有在控制权到达控制器时才有效。
截至目前,我在过滤器的 HTTPResponse 中手动将状态设置为 403。有没有更好的方法来处理这种情况?
【问题讨论】:
-
查看this SO post。您可以扩展过滤器并处理super中的异常。
-
@TimBiegeleisen - 好吧,到目前为止,我正在遵循类似的方法:)。感谢您指向该帖子。
-
@TimBiegeleisen 我遇到了类似的问题,并在这里发布了一个您可能感兴趣的解决方案stackoverflow.com/questions/34595605/…
标签: java spring spring-mvc tomcat