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:
parent
5592c72b25
commit
df00d608e2
|
|
@ -938,6 +938,10 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator
|
||||||
if (body != null) {
|
if (body != null) {
|
||||||
writeWithMessageConverters(body, inputMessage, outputMessage);
|
writeWithMessageConverters(body, inputMessage, outputMessage);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
// flush headers
|
||||||
|
outputMessage.getBody();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|
|
||||||
|
|
@ -1212,6 +1212,7 @@ public class ServletAnnotationControllerTests {
|
||||||
request = new MockHttpServletRequest("PUT", "/bar");
|
request = new MockHttpServletRequest("PUT", "/bar");
|
||||||
response = new MockHttpServletResponse();
|
response = new MockHttpServletResponse();
|
||||||
servlet.service(request, response);
|
servlet.service(request, response);
|
||||||
|
assertEquals("MyValue", response.getHeader("MyResponseHeader"));
|
||||||
assertEquals(404, response.getStatus());
|
assertEquals(404, response.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2716,7 +2717,9 @@ public class ServletAnnotationControllerTests {
|
||||||
|
|
||||||
@RequestMapping("/bar")
|
@RequestMapping("/bar")
|
||||||
public ResponseEntity<String> 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue