【发布时间】:2011-09-26 15:03:01
【问题描述】:
是否可以在一个类中声明 ExceptionHandlers 并在多个控制器中使用它们,因为在每个控制器中复制粘贴异常处理程序是多余的。
-声明异常处理程序的类:
@ExceptionHandler(IdentifiersNotMatchingException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
def @ResponseBody
String handleIdentifiersNotMatchingException(IdentifiersNotMatchingException e) {
logger.error("Identifiers Not Matching Error", e)
return "Identifiers Not Matching Error: " + e.message
}
@ExceptionHandler(ResourceNotFoundException.class)
@ResponseStatus(HttpStatus.NOT_FOUND)
def @ResponseBody
String handleResourceNotFoundException(ResourceNotFoundException e) {
logger.error("Resource Not Found Error", e)
return "Resource Not Found Error: " + e.message
}
-联系人控制器
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
@RequestMapping(value = "contact/{publicId}", method = RequestMethod.DELETE)
def @ResponseBody
void deleteContact(@PathVariable("publicId") String publicId) throws ResourceNotFoundException, IdentifiersNotMatchingException {...}
-LendingController
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
@RequestMapping(value = "lending/{publicId}", method = RequestMethod.PUT)
def @ResponseBody
void updateLending(@PathVariable("publicId") String publicId, InputStream is) throws ResourceNotFoundException {...}
【问题讨论】:
标签: java spring spring-mvc