更改从其他控制器

时间:2017-02-17 05:42:57

标签: spring spring-boot spring-restcontroller spring-rest

我尝试使用过滤器和拦截器来修改从控制器方法提交的响应,但我无法做到,因为在执行过滤器或拦截器之前提交了响应。 我知道我们有另一个选项与ResponseBodyAdvice,但这不是我做的正确的地方,因为目的是根据HTTP状态修改响应。如果有任何想法请告诉我,我怎样才能实现春季靴子和休息

1 个答案:

答案 0 :(得分:0)

是的,你可以做到。只需创建一个类说XYZ,你必须制作一个拦截器,然后使该类扩展HandlerInterceptorAdapter类。据我记忆,这个类有四种方法可以覆盖,如下:

preHandle(...)
postHandle(...)
afterConcurrentHandlingStarted(...)
afterCompletion(...)

因此,根据您的需要,您可以使用最后一个方法:afterCompletion(...)方法,因为当我们准备将视图呈现给客户端时,此方法会被执行。
然后,如果使用xml模式,则必须在<mvc:interceptor>标记内将该类XYZ注册为bean。