Nullable HttpMethod parameter only on internal doExecute delegate
Issue: SPR-15540
This commit is contained in:
parent
21fad8e205
commit
f8c2d7ab51
|
@ -655,23 +655,19 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
||||||
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, Class<T> responseType)
|
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, Class<T> responseType)
|
||||||
throws RestClientException {
|
throws RestClientException {
|
||||||
|
|
||||||
Assert.notNull(requestEntity, "RequestEntity must not be null");
|
|
||||||
|
|
||||||
RequestCallback requestCallback = httpEntityCallback(requestEntity, responseType);
|
RequestCallback requestCallback = httpEntityCallback(requestEntity, responseType);
|
||||||
ResponseExtractor<ResponseEntity<T>> responseExtractor = responseEntityExtractor(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
|
@Override
|
||||||
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, ParameterizedTypeReference<T> responseType)
|
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, ParameterizedTypeReference<T> responseType)
|
||||||
throws RestClientException {
|
throws RestClientException {
|
||||||
|
|
||||||
Assert.notNull(requestEntity, "RequestEntity must not be null");
|
|
||||||
|
|
||||||
Type type = responseType.getType();
|
Type type = responseType.getType();
|
||||||
RequestCallback requestCallback = httpEntityCallback(requestEntity, type);
|
RequestCallback requestCallback = httpEntityCallback(requestEntity, type);
|
||||||
ResponseExtractor<ResponseEntity<T>> responseExtractor = responseEntityExtractor(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
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@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 {
|
@Nullable ResponseExtractor<T> responseExtractor) throws RestClientException {
|
||||||
|
|
||||||
return doExecute(url, method, requestCallback, responseExtractor);
|
return doExecute(url, method, requestCallback, responseExtractor);
|
||||||
|
@ -718,8 +714,8 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
||||||
protected <T> T doExecute(URI url, @Nullable HttpMethod method, @Nullable RequestCallback requestCallback,
|
protected <T> T doExecute(URI url, @Nullable HttpMethod method, @Nullable RequestCallback requestCallback,
|
||||||
@Nullable ResponseExtractor<T> responseExtractor) throws RestClientException {
|
@Nullable ResponseExtractor<T> responseExtractor) throws RestClientException {
|
||||||
|
|
||||||
Assert.notNull(url, "'url' must not be null");
|
Assert.notNull(url, "URI is required");
|
||||||
Assert.notNull(method, "'method' must not be null");
|
Assert.notNull(method, "HttpMethod is required");
|
||||||
ClientHttpResponse response = null;
|
ClientHttpResponse response = null;
|
||||||
try {
|
try {
|
||||||
ClientHttpRequest request = createRequest(url, method);
|
ClientHttpRequest request = createRequest(url, method);
|
||||||
|
@ -728,12 +724,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
||||||
}
|
}
|
||||||
response = request.execute();
|
response = request.execute();
|
||||||
handleResponse(url, method, response);
|
handleResponse(url, method, response);
|
||||||
if (responseExtractor != null) {
|
return (responseExtractor != null ? responseExtractor.extractData(response) : null);
|
||||||
return responseExtractor.extractData(response);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (IOException ex) {
|
catch (IOException ex) {
|
||||||
String resource = url.toString();
|
String resource = url.toString();
|
||||||
|
|
Loading…
Reference in New Issue