【发布时间】:2015-08-22 06:16:58
【问题描述】:
我想为错误代码处理创建拦截器,它将重定向到 Spring MVC 应用程序中的正确错误页面。问题是错误代码来自服务,它在请求处理程序内部处理,所以我可能需要拦截服务而不是请求处理程序。 例如:
@RequestMapping(value = "/products", method = RequestMethod.GET)
public ModelAndView handleProducts(ModelAndView mav) {
//do something
...
//load products
ResponseMo response = productsService.getProducts();
//process the response
mav.addObject("products", response.getData());
...
/do something else
return mav;
}
我需要的是捕获getProducts()的响应,如果有错误响应,我需要重定向...项目中,有很多这样的处理程序和服务调用,所以我需要解决它地方。 ProductsService 是项目的一部分,同一个耳朵。 我在考虑拦截器、过滤器、方面......我可以拦截 getProducts() 调用,但我不能在拦截器内重定向,或者我可以吗?还是我应该使用一些不同的方法?
【问题讨论】:
-
是否应该针对任何失败的服务方法重定向到同一页面?
-
Sotirios:是的,现在根据项目规范,只有一页,所有例外情况都相同。但是你知道,有可能会有新的请求重定向到不同的页面...
标签: java spring spring-mvc servlets interceptor