在Roo中自定义未捕获异常的响应代码



我有一个基于Roo的应用程序。

如果从我的控制器抛出异常,我的应用程序将向最终用户呈现堆栈跟踪,但响应的状态代码为200。

我如何自定义它,以便任何未捕获的异常都会导致代码为500的响应?

webmvc-config.xml中,在org.springframework.web.servlet.handler.SimpleMappingExceptionResolver上设置defaultStatusCode属性。

示例:

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" p:defaultErrorView="uncaughtException">
    <property name="exceptionMappings">
        <props>
            <prop key=".DataAccessException">dataAccessFailure</prop>
            <prop key=".NoSuchRequestHandlingMethodException">resourceNotFound</prop>
            <prop key=".TypeMismatchException">resourceNotFound</prop>
            <prop key=".MissingServletRequestParameterException">resourceNotFound</prop>
        </props>
    </property>
    <property name="defaultStatusCode">
        <value>500</value>
    </property>
</bean>

最新更新