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

时间:2013-11-27 14:37:21

标签: exception-handling spring-roo http-response-codes

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

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

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

1 个答案:

答案 0 :(得分:0)

webmvc-config.xml上的defaultStatusCodeorg.springframework.web.servlet.handler.SimpleMappingExceptionResolver媒体资源中。

示例:

<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>