diff --git a/spring-web/src/main/java/org/springframework/http/HttpEntity.java b/spring-web/src/main/java/org/springframework/http/HttpEntity.java index b3203e4e05..046dac774b 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpEntity.java +++ b/spring-web/src/main/java/org/springframework/http/HttpEntity.java @@ -49,6 +49,7 @@ import org.springframework.util.ObjectUtils; * * @author Arjen Poutsma * @author Juergen Hoeller + * @author Yanming Zhou * @since 3.0.2 * @param the body type * @see org.springframework.web.client.RestTemplate @@ -60,7 +61,7 @@ public class HttpEntity { /** * The empty {@code HttpEntity}, with no body or headers. */ - public static final HttpEntity EMPTY = new HttpEntity<>(); + public static final HttpEntity EMPTY = new HttpEntity<>(HttpHeaders.EMPTY); private final HttpHeaders headers; diff --git a/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java b/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java index c6a7582910..95f0165b17 100644 --- a/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java +++ b/spring-web/src/test/java/org/springframework/http/HttpEntityTests.java @@ -27,6 +27,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Arjen Poutsma + * @author Yanming Zhou */ class HttpEntityTests { @@ -123,4 +124,11 @@ class HttpEntityTests { assertThat(requestEntity2).isEqualTo(requestEntity); } + @Test + void emptyHttpEntityShouldBeImmutable() { + HttpHeaders newHeaders = new HttpHeaders(HttpEntity.EMPTY.getHeaders()); + newHeaders.add("Authorization", "Bearer some-token"); + assertThat(HttpEntity.EMPTY.getHeaders().headerNames()).isEmpty(); + } + }