【问题标题】:Spring 3.1 DefaultHandlerExceptionResolver override/disableSpring 3.1 DefaultHandlerExceptionResolver 覆盖/禁用
【发布时间】:2012-12-14 15:51:20
【问题描述】:

升级到 Spring 3.1 后,我注意到我的自定义 SimpleMappingExceptionResolver 不再处理丢失的请求参数异常(MissingServletRequestParameterException)和其他“默认”异常。相反,Spring 的 DefaultHandlerExceptionResolver 正在吞噬异常并返回 400 错误。

我想让我的自定义异常解析器继续解析所有异常。我不知道该怎么做(是否使用无操作解析器禁用或覆盖 DefaultHandlerExceptionResolver)。

【问题讨论】:

    标签: java spring spring-mvc exception-handling


    【解决方案1】:

    每个解析器都有一个“订单”属性。这可用于调整解析器相对于彼此的优先级。通过增加我的解析器的优先级(低阶),它将在 Spring 的默认异常解析器之前被调用。

    【讨论】:

    • 值得注意的是,您可能希望使用 Ordered.HIGHEST_PRECEDENCE (或一些偏移量)作为订单值,以便您的解析器具有足够高的优先级来运行。
    猜你喜欢
    • 1970-01-01
    • 2013-09-29
    • 2021-09-06
    • 2012-12-22
    • 2016-02-07
    • 2012-02-06
    • 2012-07-23
    • 2019-02-20
    • 1970-01-01
    相关资源
    最近更新 更多