我有一个基于 Roo 的应用程序。
如果我的控制器抛出异常,我的应用程序将向最终用户呈现堆栈跟踪,但响应的状态代码为 200。
如何自定义它,以便任何未捕获的异常都会导致响应代码为 500?
我有一个基于 Roo 的应用程序。
如果我的控制器抛出异常,我的应用程序将向最终用户呈现堆栈跟踪,但响应的状态代码为 200。
如何自定义它,以便任何未捕获的异常都会导致响应代码为 500?
在您webmvc-config.xml
设置的defaultStatusCode
属性中org.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>