SPR-7381 - HTTP headers returned as part of ResponseEntity(MultiValueMap<String, String> headers, HttpStatus statusCode) are ignored when using this constructor

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3488 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
Arjen Poutsma 2010-07-16 13:47:19 +00:00
parent 5592c72b25
commit df00d608e2
2 changed files with 8 additions and 1 deletions

View File

@ -938,6 +938,10 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator
if (body != null) {
writeWithMessageConverters(body, inputMessage, outputMessage);
}
else {
// flush headers
outputMessage.getBody();
}
}
@SuppressWarnings("unchecked")

View File

@ -1212,6 +1212,7 @@ public class ServletAnnotationControllerTests {
request = new MockHttpServletRequest("PUT", "/bar");
response = new MockHttpServletResponse();
servlet.service(request, response);
assertEquals("MyValue", response.getHeader("MyResponseHeader"));
assertEquals(404, response.getStatus());
}
@ -2716,7 +2717,9 @@ public class ServletAnnotationControllerTests {
@RequestMapping("/bar")
public ResponseEntity<String> bar() {
return new ResponseEntity<String>(new HttpHeaders(), HttpStatus.NOT_FOUND);
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.set("MyResponseHeader", "MyValue");
return new ResponseEntity<String>(responseHeaders, HttpStatus.NOT_FOUND);
}
}