我想为错误代码处理创建拦截器,它将重定向到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()调用,但我不能在拦截器内重定向,或者我可以吗?或者我应该使用一些不同的方法?
答案 0 :(得分:1)
请参阅https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
创建适合您业务案例的自定义异常,然后处理控制器中的异常。希望它有所帮助。