Для записи, начиная с весны 3.2, это стало еще хуже, потому что AnnotationMethodHandlerExceptionResolver
был заменен на ResponseStatusExceptionResolver
, и это делает:
protected ModelAndView resolveResponseStatus(ResponseStatus responseStatus, HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) throws Exception {
int statusCode = responseStatus.value().value();
String reason = responseStatus.reason();
if (this.messageSource != null) {
reason = this.messageSource.getMessage(reason, null, reason, LocaleContextHolder.getLocale());
}
if (!StringUtils.hasLength(reason)) {
response.sendError(statusCode);
}
else {
response.sendError(statusCode, reason);
}
return new ModelAndView();
}
Это стоит сообщения об ошибке. Кроме того, @ResponseStatus
задокументировано с setStatus
и является плохо разработанным. Он должен был называться @ResponseError
.
Наконец-то я создал две проблемы: SPR-11192 и SPR-11193 .
Прошел почти год, и мои два вопроса все еще открыты. Я не считаю Spring WebMVC первоклассным фреймворком REST, который не является имхо, Web MVC предназначен для humas, а не для машин: - (