我们有两组控制器。一个用于返回HttpEntity(用于ajax调用)和一个用于ModelAndView的响应。所有控制器都扩展了BaseController,我们在其中定义了异常处理。
@ExceptionHandler(Exception.class)
@ResponseBody
public ResponseEntity<String> handleException(final Exception e) {
return new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
但是这个控制器只处理与响应'HttpEntity'而不是ModelAndView相关的控制器的异常。在这种情况下,我需要两个基本控制器来处理异常,还是可以修改现有的BaseController来处理所有异常?
答案 0 :(得分:0)
每个控制器都应该有一个单独的handleException方法。
您应该只在BaseController中放置公共代码,但异常处理程序显然不常见,因为它们具有不同的逻辑。