public class AsyncRestTemplate extends AsyncHttpAccessor implements AsyncRestOperations
RestTemplate, but returns ListenableFuture
 wrappers as opposed to concrete results.
 The AsyncRestTemplate exposes a synchronous RestTemplate via the
 getRestOperations() method, and it shares its
 error handler and
 message converters with this
 RestTemplate.
 
For more information, please refer to the RestTemplate API documentation.
RestTemplatelogger| Constructor and Description | 
|---|
AsyncRestTemplate()
Create a new instance of the  
AsyncRestTemplate using default settings. | 
AsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory)
Create a new instance of the  
AsyncRestTemplate using the given
 AsyncClientHttpRequestFactory. | 
AsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory,
                 ClientHttpRequestFactory syncRequestFactory)
Creates a new instance of the  
AsyncRestTemplate using the given
 asynchronous and synchronous request factories. | 
AsyncRestTemplate(AsyncClientHttpRequestFactory requestFactory,
                 RestTemplate restTemplate)
Create a new instance of the  
AsyncRestTemplate using the given
 AsyncClientHttpRequestFactory and synchronous RestTemplate. | 
AsyncRestTemplate(AsyncListenableTaskExecutor taskExecutor)
Create a new instance of the  
AsyncRestTemplate using the given
 AsyncTaskExecutor. | 
| Modifier and Type | Method and Description | 
|---|---|
protected <T> AsyncRequestCallback | 
acceptHeaderRequestCallback(Class<T> responseType)
Returns a request callback implementation that prepares the request  
Accept
 headers based on the given response type and configured message converters. | 
ListenableFuture<?> | 
delete(String url,
      Map<String,?> urlVariables)
Asynchronously delete the resources at the specified URI. 
 | 
ListenableFuture<?> | 
delete(String url,
      Object... urlVariables)
Asynchronously delete the resources at the specified URI. 
 | 
ListenableFuture<?> | 
delete(URI url)
Asynchronously delete the resources at the specified URI. 
 | 
protected <T> ListenableFuture<T> | 
doExecute(URI url,
         HttpMethod method,
         AsyncRequestCallback requestCallback,
         ResponseExtractor<T> responseExtractor)
Execute the given method on the provided URI. 
 | 
<T> ListenableFuture<ResponseEntity<T>> | 
exchange(String url,
        HttpMethod method,
        HttpEntity<?> requestEntity,
        Class<T> responseType,
        Map<String,?> uriVariables)
Asynchronously execute the HTTP method to the given URI template, writing the
 given request entity to the request, and returns the response as
  
ResponseEntity. | 
<T> ListenableFuture<ResponseEntity<T>> | 
exchange(String url,
        HttpMethod method,
        HttpEntity<?> requestEntity,
        Class<T> responseType,
        Object... uriVariables)
Asynchronously execute the HTTP method to the given URI template, writing the
 given request entity to the request, and returns the response as
  
ResponseEntity. | 
<T> ListenableFuture<ResponseEntity<T>> | 
exchange(String url,
        HttpMethod method,
        HttpEntity<?> requestEntity,
        ParameterizedTypeReference<T> responseType,
        Map<String,?> uriVariables)
Asynchronously execute the HTTP method to the given URI template, writing the given
 request entity to the request, and returns the response as  
ResponseEntity. | 
<T> ListenableFuture<ResponseEntity<T>> | 
exchange(String url,
        HttpMethod method,
        HttpEntity<?> requestEntity,
        ParameterizedTypeReference<T> responseType,
        Object... uriVariables)
Asynchronously execute the HTTP method to the given URI template, writing the given
 request entity to the request, and returns the response as  
ResponseEntity. | 
<T> ListenableFuture<ResponseEntity<T>> | 
exchange(URI url,
        HttpMethod method,
        HttpEntity<?> requestEntity,
        Class<T> responseType)
Asynchronously execute the HTTP method to the given URI template, writing the
 given request entity to the request, and returns the response as
  
ResponseEntity. | 
<T> ListenableFuture<ResponseEntity<T>> | 
exchange(URI url,
        HttpMethod method,
        HttpEntity<?> requestEntity,
        ParameterizedTypeReference<T> responseType)
Asynchronously execute the HTTP method to the given URI template, writing the given
 request entity to the request, and returns the response as  
ResponseEntity. | 
<T> ListenableFuture<T> | 
execute(String url,
       HttpMethod method,
       AsyncRequestCallback requestCallback,
       ResponseExtractor<T> responseExtractor,
       Map<String,?> urlVariables)
Asynchronously execute the HTTP method to the given URI template, preparing the
 request with the  
AsyncRequestCallback, and reading the response with a
 ResponseExtractor. | 
<T> ListenableFuture<T> | 
execute(String url,
       HttpMethod method,
       AsyncRequestCallback requestCallback,
       ResponseExtractor<T> responseExtractor,
       Object... urlVariables)
Asynchronously execute the HTTP method to the given URI template, preparing the
 request with the  
AsyncRequestCallback, and reading the response with a
 ResponseExtractor. | 
<T> ListenableFuture<T> | 
execute(URI url,
       HttpMethod method,
       AsyncRequestCallback requestCallback,
       ResponseExtractor<T> responseExtractor)
Asynchronously execute the HTTP method to the given URL, preparing the request
 with the  
AsyncRequestCallback, and reading the response with a
 ResponseExtractor. | 
ResponseErrorHandler | 
getErrorHandler()
Return the error handler. 
 | 
<T> ListenableFuture<ResponseEntity<T>> | 
getForEntity(String url,
            Class<T> responseType,
            Map<String,?> urlVariables)
Asynchronously retrieve a representation by doing a GET on the URI template. 
 | 
<T> ListenableFuture<ResponseEntity<T>> | 
getForEntity(String url,
            Class<T> responseType,
            Object... uriVariables)
Asynchronously retrieve an entity by doing a GET on the specified URL. 
 | 
<T> ListenableFuture<ResponseEntity<T>> | 
getForEntity(URI url,
            Class<T> responseType)
Asynchronously retrieve a representation by doing a GET on the URL. 
 | 
List<HttpMessageConverter<?>> | 
getMessageConverters()
Return the message body converters. 
 | 
RestOperations | 
getRestOperations()
Expose the synchronous Spring RestTemplate to allow synchronous invocation. 
 | 
protected ResponseExtractor<HttpHeaders> | 
headersExtractor()
Returns a response extractor for  
HttpHeaders. | 
ListenableFuture<HttpHeaders> | 
headForHeaders(String url,
              Map<String,?> uriVariables)
Asynchronously retrieve all headers of the resource specified by the URI template. 
 | 
ListenableFuture<HttpHeaders> | 
headForHeaders(String url,
              Object... uriVariables)
Asynchronously retrieve all headers of the resource specified by the URI template. 
 | 
ListenableFuture<HttpHeaders> | 
headForHeaders(URI url)
Asynchronously retrieve all headers of the resource specified by the URL. 
 | 
protected <T> AsyncRequestCallback | 
httpEntityCallback(HttpEntity<T> requestBody)
Returns a request callback implementation that writes the given object to the
 request stream. 
 | 
protected <T> AsyncRequestCallback | 
httpEntityCallback(HttpEntity<T> request,
                  Type responseType)
Returns a request callback implementation that writes the given object to the
 request stream. 
 | 
ListenableFuture<Set<HttpMethod>> | 
optionsForAllow(String url,
               Map<String,?> uriVariables)
Asynchronously return the value of the Allow header for the given URI. 
 | 
ListenableFuture<Set<HttpMethod>> | 
optionsForAllow(String url,
               Object... uriVariables)
Asynchronously return the value of the Allow header for the given URI. 
 | 
ListenableFuture<Set<HttpMethod>> | 
optionsForAllow(URI url)
Asynchronously return the value of the Allow header for the given URL. 
 | 
<T> ListenableFuture<ResponseEntity<T>> | 
postForEntity(String url,
             HttpEntity<?> request,
             Class<T> responseType,
             Map<String,?> uriVariables)
Create a new resource by POSTing the given object to the URI template,
 and asynchronously returns the response as  
ResponseEntity. | 
<T> ListenableFuture<ResponseEntity<T>> | 
postForEntity(String url,
             HttpEntity<?> request,
             Class<T> responseType,
             Object... uriVariables)
Create a new resource by POSTing the given object to the URI template,
 and asynchronously returns the response as  
ResponseEntity. | 
<T> ListenableFuture<ResponseEntity<T>> | 
postForEntity(URI url,
             HttpEntity<?> request,
             Class<T> responseType)
Create a new resource by POSTing the given object to the URL,
 and asynchronously returns the response as  
ResponseEntity. | 
ListenableFuture<URI> | 
postForLocation(String url,
               HttpEntity<?> request,
               Map<String,?> uriVariables)
Create a new resource by POSTing the given object to the URI template, and
 asynchronously returns the value of the  
Location header. | 
ListenableFuture<URI> | 
postForLocation(String url,
               HttpEntity<?> request,
               Object... uriVariables)
Create a new resource by POSTing the given object to the URI template, and
 asynchronously returns the value of the  
Location header. | 
ListenableFuture<URI> | 
postForLocation(URI url,
               HttpEntity<?> request)
Create a new resource by POSTing the given object to the URL, and asynchronously
 returns the value of the  
Location header. | 
ListenableFuture<?> | 
put(String url,
   HttpEntity<?> request,
   Map<String,?> uriVariables)
Creates a new resource by PUTting the given object to URI template. 
 | 
ListenableFuture<?> | 
put(String url,
   HttpEntity<?> request,
   Object... uriVariables)
Create or update a resource by PUTting the given object to the URI. 
 | 
ListenableFuture<?> | 
put(URI url,
   HttpEntity<?> request)
Creates a new resource by PUTting the given object to URL. 
 | 
protected <T> ResponseExtractor<ResponseEntity<T>> | 
responseEntityExtractor(Type responseType)
Returns a response extractor for  
ResponseEntity. | 
void | 
setErrorHandler(ResponseErrorHandler errorHandler)
Set the error handler. 
 | 
void | 
setMessageConverters(List<HttpMessageConverter<?>> messageConverters)
Set the message body converters to use. 
 | 
createAsyncRequest, getAsyncRequestFactory, setAsyncRequestFactorypublic AsyncRestTemplate()
AsyncRestTemplate using default settings.
 This constructor uses a SimpleClientHttpRequestFactory in combination
 with a SimpleAsyncTaskExecutor for asynchronous execution.
public AsyncRestTemplate(AsyncListenableTaskExecutor taskExecutor)
AsyncRestTemplate using the given
 AsyncTaskExecutor.
 This constructor uses a SimpleClientHttpRequestFactory in combination
 with the given AsyncTaskExecutor for asynchronous execution.
public AsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory)
AsyncRestTemplate using the given
 AsyncClientHttpRequestFactory.
 This constructor will cast the given asynchronous
 AsyncClientHttpRequestFactory to a ClientHttpRequestFactory. Since
 all implementations of ClientHttpRequestFactory provided in Spring also
 implement AsyncClientHttpRequestFactory, this should not result in a
 ClassCastException.
public AsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory, ClientHttpRequestFactory syncRequestFactory)
AsyncRestTemplate using the given
 asynchronous and synchronous request factories.asyncRequestFactory - the asynchronous request factorysyncRequestFactory - the synchronous request factorypublic AsyncRestTemplate(AsyncClientHttpRequestFactory requestFactory, RestTemplate restTemplate)
AsyncRestTemplate using the given
 AsyncClientHttpRequestFactory and synchronous RestTemplate.requestFactory - the asynchronous request factory to userestTemplate - the synchronous template to usepublic void setErrorHandler(ResponseErrorHandler errorHandler)
By default, AsyncRestTemplate uses a
 DefaultResponseErrorHandler.
public ResponseErrorHandler getErrorHandler()
public RestOperations getRestOperations()
AsyncRestOperationsgetRestOperations in interface AsyncRestOperationspublic void setMessageConverters(List<HttpMessageConverter<?>> messageConverters)
These converters are used to convert from and to HTTP requests and responses.
public List<HttpMessageConverter<?>> getMessageConverters()
public <T> ListenableFuture<ResponseEntity<T>> getForEntity(String url, Class<T> responseType, Object... uriVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 URI Template variables are expanded using the given URI variables, if any.
getForEntity in interface AsyncRestOperationsurl - the URLresponseType - the type of the return valueuriVariables - the variables to expand the templateFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> getForEntity(String url, Class<T> responseType, Map<String,?> urlVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 URI Template variables are expanded using the given map.
getForEntity in interface AsyncRestOperationsurl - the URLresponseType - the type of the return valueurlVariables - the map containing variables for the URI templateFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> getForEntity(URI url, Class<T> responseType) throws RestClientException
AsyncRestOperationsResponseEntity.getForEntity in interface AsyncRestOperationsurl - the URLresponseType - the type of the return valueFutureRestClientExceptionpublic ListenableFuture<HttpHeaders> headForHeaders(String url, Object... uriVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given URI variables, if any.
headForHeaders in interface AsyncRestOperationsurl - the URLuriVariables - the variables to expand the templateFutureRestClientExceptionpublic ListenableFuture<HttpHeaders> headForHeaders(String url, Map<String,?> uriVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given map.
headForHeaders in interface AsyncRestOperationsurl - the URLuriVariables - the map containing variables for the URI templateFutureRestClientExceptionpublic ListenableFuture<HttpHeaders> headForHeaders(URI url) throws RestClientException
AsyncRestOperationsheadForHeaders in interface AsyncRestOperationsurl - the URLFutureRestClientExceptionpublic ListenableFuture<URI> postForLocation(String url, HttpEntity<?> request, Object... uriVariables) throws RestClientException
AsyncRestOperationsLocation header. This header
 typically indicates where the new resource is stored.
 URI Template variables are expanded using the given URI variables, if any.
postForLocation in interface AsyncRestOperationsurl - the URLrequest - the Object to be POSTed, may be nulluriVariables - the variables to expand the templateLocation header wrapped in a FutureRestClientExceptionHttpEntitypublic ListenableFuture<URI> postForLocation(String url, HttpEntity<?> request, Map<String,?> uriVariables) throws RestClientException
AsyncRestOperationsLocation header. This header
 typically indicates where the new resource is stored.
 URI Template variables are expanded using the given map.
postForLocation in interface AsyncRestOperationsurl - the URLrequest - the Object to be POSTed, may be nulluriVariables - the variables to expand the templateLocation header wrapped in a FutureRestClientExceptionHttpEntitypublic ListenableFuture<URI> postForLocation(URI url, HttpEntity<?> request) throws RestClientException
AsyncRestOperationsLocation header. This header typically indicates
 where the new resource is stored.postForLocation in interface AsyncRestOperationsurl - the URLrequest - the Object to be POSTed, may be nullLocation header wrapped in a FutureRestClientExceptionHttpEntitypublic <T> ListenableFuture<ResponseEntity<T>> postForEntity(String url, HttpEntity<?> request, Class<T> responseType, Object... uriVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 URI Template variables are expanded using the given URI variables, if any.
postForEntity in interface AsyncRestOperationsurl - the URLrequest - the Object to be POSTed, may be nulluriVariables - the variables to expand the templateFutureRestClientExceptionHttpEntitypublic <T> ListenableFuture<ResponseEntity<T>> postForEntity(String url, HttpEntity<?> request, Class<T> responseType, Map<String,?> uriVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 URI Template variables are expanded using the given map.
postForEntity in interface AsyncRestOperationsurl - the URLrequest - the Object to be POSTed, may be nulluriVariables - the variables to expand the templateFutureRestClientExceptionHttpEntitypublic <T> ListenableFuture<ResponseEntity<T>> postForEntity(URI url, HttpEntity<?> request, Class<T> responseType) throws RestClientException
AsyncRestOperationsResponseEntity.postForEntity in interface AsyncRestOperationsurl - the URLrequest - the Object to be POSTed, may be nullFutureRestClientExceptionHttpEntitypublic ListenableFuture<?> put(String url, HttpEntity<?> request, Object... uriVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given URI variables, if any.
The Future will return a null result upon completion.
put in interface AsyncRestOperationsurl - the URLrequest - the Object to be PUT, may be nulluriVariables - the variables to expand the templateRestClientExceptionHttpEntitypublic ListenableFuture<?> put(String url, HttpEntity<?> request, Map<String,?> uriVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given map.
The Future will return a null result upon completion.
put in interface AsyncRestOperationsurl - the URLrequest - the Object to be PUT, may be nulluriVariables - the variables to expand the templateRestClientExceptionHttpEntitypublic ListenableFuture<?> put(URI url, HttpEntity<?> request) throws RestClientException
AsyncRestOperationsThe Future will return a null result upon completion.
put in interface AsyncRestOperationsurl - the URLrequest - the Object to be PUT, may be nullRestClientExceptionHttpEntitypublic ListenableFuture<?> delete(String url, Object... urlVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given URI variables, if any.
The Future will return a null result upon completion.
delete in interface AsyncRestOperationsurl - the URLurlVariables - the variables to expand in the templateRestClientExceptionpublic ListenableFuture<?> delete(String url, Map<String,?> urlVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given URI variables, if any.
The Future will return a null result upon completion.
delete in interface AsyncRestOperationsurl - the URLurlVariables - the variables to expand in the templateRestClientExceptionpublic ListenableFuture<?> delete(URI url) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given URI variables, if any.
The Future will return a null result upon completion.
delete in interface AsyncRestOperationsurl - the URLRestClientExceptionpublic ListenableFuture<Set<HttpMethod>> optionsForAllow(String url, Object... uriVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given URI variables, if any.
optionsForAllow in interface AsyncRestOperationsurl - the URLuriVariables - the variables to expand in the templateFutureRestClientExceptionpublic ListenableFuture<Set<HttpMethod>> optionsForAllow(String url, Map<String,?> uriVariables) throws RestClientException
AsyncRestOperationsURI Template variables are expanded using the given map.
optionsForAllow in interface AsyncRestOperationsurl - the URLuriVariables - the variables to expand in the templateFutureRestClientExceptionpublic ListenableFuture<Set<HttpMethod>> optionsForAllow(URI url) throws RestClientException
AsyncRestOperationsoptionsForAllow in interface AsyncRestOperationsurl - the URLFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 URI Template variables are expanded using the given URI variables, if any.
exchange in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request
 (may be null)responseType - the type of the return valueuriVariables - the variables to expand in the templateFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Map<String,?> uriVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 URI Template variables are expanded using the given URI variables, if any.
exchange in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request
 (may be null)responseType - the type of the return valueuriVariables - the variables to expand in the templateFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> exchange(URI url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType) throws RestClientException
AsyncRestOperationsResponseEntity.exchange in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request
 (may be null)responseType - the type of the return valueFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType, Object... uriVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 The given ParameterizedTypeReference is used to pass generic type
 information:
 
 ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
 ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
 exchange in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the
 request, may be nullresponseType - the type of the return valueuriVariables - the variables to expand in the templateFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType, Map<String,?> uriVariables) throws RestClientException
AsyncRestOperationsResponseEntity.
 The given ParameterizedTypeReference is used to pass generic type
 information:
 
 ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
 ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
 exchange in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request, may be nullresponseType - the type of the return valueuriVariables - the variables to expand in the templateFutureRestClientExceptionpublic <T> ListenableFuture<ResponseEntity<T>> exchange(URI url, HttpMethod method, HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) throws RestClientException
AsyncRestOperationsResponseEntity.
 The given ParameterizedTypeReference is used to pass generic type
 information:
 
 ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
 ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
 exchange in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request, may be nullresponseType - the type of the return valueFutureRestClientExceptionpublic <T> ListenableFuture<T> execute(String url, HttpMethod method, AsyncRequestCallback requestCallback, ResponseExtractor<T> responseExtractor, Object... urlVariables) throws RestClientException
AsyncRestOperationsAsyncRequestCallback, and reading the response with a
 ResponseExtractor.
 URI Template variables are expanded using the given URI variables, if any.
execute in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestCallback - object that prepares the requestresponseExtractor - object that extracts the return value from the responseurlVariables - the variables to expand in the templateResponseExtractorRestClientExceptionpublic <T> ListenableFuture<T> execute(String url, HttpMethod method, AsyncRequestCallback requestCallback, ResponseExtractor<T> responseExtractor, Map<String,?> urlVariables) throws RestClientException
AsyncRestOperationsAsyncRequestCallback, and reading the response with a
 ResponseExtractor.
 URI Template variables are expanded using the given URI variables map.
execute in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestCallback - object that prepares the requestresponseExtractor - object that extracts the return value from the responseurlVariables - the variables to expand in the templateResponseExtractorRestClientExceptionpublic <T> ListenableFuture<T> execute(URI url, HttpMethod method, AsyncRequestCallback requestCallback, ResponseExtractor<T> responseExtractor) throws RestClientException
AsyncRestOperationsAsyncRequestCallback, and reading the response with a
 ResponseExtractor.execute in interface AsyncRestOperationsurl - the URLmethod - the HTTP method (GET, POST, etc)requestCallback - object that prepares the requestresponseExtractor - object that extracts the return value from the responseResponseExtractorRestClientExceptionprotected <T> ListenableFuture<T> doExecute(URI url, HttpMethod method, AsyncRequestCallback requestCallback, ResponseExtractor<T> responseExtractor) throws RestClientException
ClientHttpRequest
 is processed using the RequestCallback; the response with
 the ResponseExtractor.url - the fully-expanded URL to connect tomethod - the HTTP method to execute (GET, POST, etc.)requestCallback - object that prepares the request (can be null)responseExtractor - object that extracts the return value from the response (can
 be null)ResponseExtractorRestClientExceptionprotected <T> AsyncRequestCallback acceptHeaderRequestCallback(Class<T> responseType)
Accept
 headers based on the given response type and configured message converters.protected <T> AsyncRequestCallback httpEntityCallback(HttpEntity<T> requestBody)
protected <T> AsyncRequestCallback httpEntityCallback(HttpEntity<T> request, Type responseType)
protected <T> ResponseExtractor<ResponseEntity<T>> responseEntityExtractor(Type responseType)
ResponseEntity.protected ResponseExtractor<HttpHeaders> headersExtractor()
HttpHeaders.