SPR-7060 - @ResponseStatus: The reason value is not used.

This commit is contained in:
Arjen Poutsma
2010-04-02 08:39:26 +00:00
parent 580dc8e72a
commit 8a1a23af83
2 changed files with 11 additions and 2 deletions

View File

@@ -814,9 +814,17 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator
ResponseStatus responseStatusAnn = AnnotationUtils.findAnnotation(handlerMethod, ResponseStatus.class);
if (responseStatusAnn != null) {
HttpStatus responseStatus = responseStatusAnn.value();
String reason = responseStatusAnn.reason();
if (!StringUtils.hasText(reason)) {
webRequest.getResponse().setStatus(responseStatus.value());
}
else {
webRequest.getResponse().sendError(responseStatus.value(), reason);
}
// to be picked up by the RedirectView
webRequest.getRequest().setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, responseStatus);
webRequest.getResponse().setStatus(responseStatus.value());
responseArgumentUsed = true;
}