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)
|
||||
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
|
|||
|
||||
@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
|
|||
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
|
|||
}
|
||||
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();
|
||||
|
|
Loading…
Reference in New Issue