单弹簧MVC控制器的多种返回类型

时间:2016-04-13 10:12:12

标签: java spring model-view-controller controller return

我有一个控制器,在某些情况下,如果请求是Restful,它应返回ResponseEntity<>,在某些情况下应返回ModelAndView

有没有办法可以做到这一点?我想我可以根据需要的返回类型抛出异常,然后让ExceptionHandler返回所需的确切类型。

例如,抛出ReturnResponseEntityException,然后在ExceptionHandler中抓住这个并返回ResponseEntity,并在另一个案例中抛出ReturnModelAndViewException

但是,我意识到这不起作用,因为ModelAndViewResponseEntity需要某些属性,这些属性仅在原始Controller中可用,而不在异常处理程序中。有没有办法将属性传递给异常处理程序?

或者,是否可以从Controller返回Object,Spring可以处理ResponseEntityModelAndView,具体取决于我返回的Object类?

还是有另一种方法可以实现这个目标吗?

0 个答案:

没有答案