Is it possible to declare ExceptionHandlers in a class and use them in several controllers, because copying exception handlers in each controller will be redundant.
-Class declares exception handlers:
@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 }
-ContactController
@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 {...}
source share