У меня есть контроллер Spring MVC с некоторыми простыми запросами службы REST. Я хотел бы добавить некоторую обработку ошибок, когда определенные исключения будут выбрасываться из моих сервисов, но я не могу получить метод обработчика, аннотированный с помощью @ExceptionHandler, на самом деле когда-либо вызываемый. Вот одна услуга, я намеренно бросаю исключение, чтобы попытаться применить метод моего обработчика. Метод обработчика никогда не вызывается, а Spring просто возвращает ошибку 500 вызывающему клиенту. У вас есть идеи о том, что я делаю неправильно?
@ExceptionHandler(IOException.class)
public ModelAndView handleIOException(IOException ex, HttpServletRequest request, HttpServletResponse response) {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
System.out.println("It worked!");
return new ModelAndView();
}
@RequestMapping(value = "/json/remove-service/{id}", method = RequestMethod.DELETE)
public void remove(@PathVariable("id") Long id) throws IOException {
throw new IOException("The handler should take over from here!");
}