我有一个控制器,在某些情况下,如果请求是Restful,它应返回ResponseEntity<>
,在某些情况下应返回ModelAndView
。
有没有办法可以做到这一点?我想我可以根据需要的返回类型抛出异常,然后让ExceptionHandler
返回所需的确切类型。
例如,抛出ReturnResponseEntityException
,然后在ExceptionHandler
中抓住这个并返回ResponseEntity
,并在另一个案例中抛出ReturnModelAndViewException
。
但是,我意识到这不起作用,因为ModelAndView
和ResponseEntity
需要某些属性,这些属性仅在原始Controller中可用,而不在异常处理程序中。有没有办法将属性传递给异常处理程序?
或者,是否可以从Controller返回Object,Spring可以处理ResponseEntity
或ModelAndView
,具体取决于我返回的Object类?
还是有另一种方法可以实现这个目标吗?