diff --git a/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java b/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java index 7cd9f79cf84..485db649b65 100644 --- a/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java +++ b/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java @@ -655,23 +655,19 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat public ResponseEntity exchange(RequestEntity requestEntity, Class responseType) throws RestClientException { - Assert.notNull(requestEntity, "RequestEntity must not be null"); - RequestCallback requestCallback = httpEntityCallback(requestEntity, responseType); ResponseExtractor> responseExtractor = responseEntityExtractor(responseType); - return nonNull(execute(requestEntity.getUrl(), requestEntity.getMethod(), requestCallback, responseExtractor)); + return nonNull(doExecute(requestEntity.getUrl(), requestEntity.getMethod(), requestCallback, responseExtractor)); } @Override public ResponseEntity exchange(RequestEntity requestEntity, ParameterizedTypeReference responseType) throws RestClientException { - Assert.notNull(requestEntity, "RequestEntity must not be null"); - Type type = responseType.getType(); RequestCallback requestCallback = httpEntityCallback(requestEntity, type); ResponseExtractor> responseExtractor = responseEntityExtractor(type); - return nonNull(execute(requestEntity.getUrl(), requestEntity.getMethod(), requestCallback, responseExtractor)); + return nonNull(doExecute(requestEntity.getUrl(), requestEntity.getMethod(), requestCallback, responseExtractor)); } @@ -698,7 +694,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat @Override @Nullable - public T execute(URI url, @Nullable HttpMethod method, @Nullable RequestCallback requestCallback, + public T execute(URI url, HttpMethod method, @Nullable RequestCallback requestCallback, @Nullable ResponseExtractor responseExtractor) throws RestClientException { return doExecute(url, method, requestCallback, responseExtractor); @@ -718,8 +714,8 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat protected T doExecute(URI url, @Nullable HttpMethod method, @Nullable RequestCallback requestCallback, @Nullable ResponseExtractor responseExtractor) throws RestClientException { - Assert.notNull(url, "'url' must not be null"); - Assert.notNull(method, "'method' must not be null"); + Assert.notNull(url, "URI is required"); + Assert.notNull(method, "HttpMethod is required"); ClientHttpResponse response = null; try { ClientHttpRequest request = createRequest(url, method); @@ -728,12 +724,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat } response = request.execute(); handleResponse(url, method, response); - if (responseExtractor != null) { - return responseExtractor.extractData(response); - } - else { - return null; - } + return (responseExtractor != null ? responseExtractor.extractData(response) : null); } catch (IOException ex) { String resource = url.toString();