@RequestMapping(value = "/testerror", method = RequestMethod.GET)
public
@ResponseBody
ErrorTO testerror(HttpServletRequest request, HttpServletResponse response) {
throw new RuntimeException("erorrrrrr");
}
@ExceptionHandler(RuntimeException.class)
public @ResponseBody ErrorTO handlePoprocksExceptionAsReponseBody(RuntimeException ex,
HttpServletRequest request, HttpServletResponse response) {
response.setStatus(response.SC_BAD_REQUEST);
return new ErrorTO(ex.getMessage(), -999);
}
Приведенный выше код не работает. StackTrace выглядело так:
org.springframework.web.util.NestedServletException:
Ошибка обработки запроса; вложенными
исключение
java.lang.RuntimeException: erorrrrrr
в org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:656)
в org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:549)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:734)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:847)
Я смотрел на Проблемы реализации обработчика исключений контроллера Spring 3 , и, исходя из этого, кажется, что обработчики исключений могут возвращать только представления. Это правда?