|
|
|
|
@ -655,23 +655,19 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
@@ -655,23 +655,19 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
|
|
|
|
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, Class<T> responseType) |
|
|
|
|
throws RestClientException { |
|
|
|
|
|
|
|
|
|
Assert.notNull(requestEntity, "RequestEntity must not be null"); |
|
|
|
|
|
|
|
|
|
RequestCallback requestCallback = httpEntityCallback(requestEntity, responseType); |
|
|
|
|
ResponseExtractor<ResponseEntity<T>> responseExtractor = responseEntityExtractor(responseType); |
|
|
|
|
return nonNull(execute(requestEntity.getUrl(), requestEntity.getMethod(), requestCallback, responseExtractor)); |
|
|
|
|
return nonNull(doExecute(requestEntity.getUrl(), requestEntity.getMethod(), requestCallback, responseExtractor)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) |
|
|
|
|
throws RestClientException { |
|
|
|
|
|
|
|
|
|
Assert.notNull(requestEntity, "RequestEntity must not be null"); |
|
|
|
|
|
|
|
|
|
Type type = responseType.getType(); |
|
|
|
|
RequestCallback requestCallback = httpEntityCallback(requestEntity, type); |
|
|
|
|
ResponseExtractor<ResponseEntity<T>> 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
@@ -698,7 +694,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Nullable |
|
|
|
|
public <T> T execute(URI url, @Nullable HttpMethod method, @Nullable RequestCallback requestCallback, |
|
|
|
|
public <T> T execute(URI url, HttpMethod method, @Nullable RequestCallback requestCallback, |
|
|
|
|
@Nullable ResponseExtractor<T> responseExtractor) throws RestClientException { |
|
|
|
|
|
|
|
|
|
return doExecute(url, method, requestCallback, responseExtractor); |
|
|
|
|
@ -718,8 +714,8 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
@@ -718,8 +714,8 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
|
|
|
|
protected <T> T doExecute(URI url, @Nullable HttpMethod method, @Nullable RequestCallback requestCallback, |
|
|
|
|
@Nullable ResponseExtractor<T> 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
@@ -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(); |
|
|
|
|
|