在我的Spring MVC应用程序中,我有许多方法使用@RequestBody
绑定到我定义的域对象(特别是使用Jackson的JSON)。
我目前正在使用简单的异常视图,如下所示:
<bean id="exceptionHandler" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="errorXmlView" />
</bean>
<bean id="errorXmlView" class="com.example.MyCustomXmlView" />
我的问题是,在MyCustomXmlView
内部,目前只是扩展AbstractView
,有没有办法可以访问与@RequestBody
绑定的对象?假设,即它已经达到了那么远,并且它不是一个绑定异常。例如,是否有某种我可以调用的请求范围的bean,或者是一种将对象注入模型以供我的异常视图使用的方法?如果没有,是否有一种不同的方式来定义 允许我这样做的异常解析器?
答案 0 :(得分:2)
您是否考虑过@ExceptionHandler
注释? spring documentation有一个使用示例,我想你可以创建一个自定义异常,它将保留在你的模型上,然后你应该能够在你的异常处理方法中访问它。
答案 1 :(得分:1)
我经常使用ThreadLocal
捕获控制器方法参数,然后存储它们以便以后用于记录等。我发现的最好方法是使用@Aspect
(或无论你喜欢什么AOP策略)拦截控制器方法并存储方法参数供以后使用。