| java.lang.Object | |||
| ↳ | org.springframework.http.client.support.HttpAccessor | ||
| ↳ | org.springframework.http.client.support.InterceptingHttpAccessor | ||
| ↳ | org.springframework.web.client.RestTemplate | ||
The central class for client-side HTTP access. It simplifies communication with HTTP servers, and enforces RESTful principles. It handles HTTP connections, leaving application code to provide URLs (with possible template variables) and extract results.
The main entry points of this template are the methods named after the six main HTTP methods:
For each of these HTTP methods, there are three corresponding Java methods in the RestTemplate. Two
 variant take a String URI as first argument (eg. getForObject(String, Class, Object[]), getForObject(String, Class, Map)), and are capable of substituting any URI templates in
 that URL using either a String variable arguments array, or a Map<String, String>. The string varargs
 variant expands the given template variables in order, so that
 
 String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class,"42",
 "21");
 
 will perform a GET on http://example.com/hotels/42/bookings/21. The map variant expands the template based on
 variable name, and is therefore more useful when using many variables, or when a single variable is used multiple
 times. For example:
 
 Map<String, String> vars = Collections.singletonMap("hotel", "42");
 String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/rooms/{hotel}", String.class, vars);
 
 will perform a GET on http://example.com/hotels/42/rooms/42. Alternatively, there are URI variant
 methods (getForObject(URI, Class)), which do not allow for URI templates, but allow you to reuse a single,
 expanded URI multiple times.
 Furthermore, the String-argument methods assume that the URL String is unencoded. This means that
 
 restTemplate.getForObject("http://example.com/hotel list");
 
 will perform a GET on http://example.com/hotel%20list. As a result, any URL passed that is already encoded
 will be encoded twice (i.e. http://example.com/hotel%20list will become http://example.com/hotel%2520list). If this behavior is undesirable, use the URI-argument methods, which
 will not perform any URL encoding.
 Objects passed to and returned from these methods are converted to and from HTTP messages by HttpMessageConverter instances. Converters for the main mime types are registered by default, but you can also write
 your own converter and register it via the messageConverters bean property.
 
This template uses a SimpleClientHttpRequestFactory and a DefaultResponseErrorHandler as default strategies for creating HTTP connections or handling HTTP errors,
 respectively. These defaults can be overridden through the requestFactory and errorHandler bean properties.
| [Expand] Inherited Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  From class
org.springframework.http.client.support.HttpAccessor | |||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Create a new instance of the  RestTemplateusing default settings. | |||||||||||
| Create a new instance of the  RestTemplatebased on the givenClientHttpRequestFactory. | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Delete the resources at the specified URI. | |||||||||||
| Delete the resources at the specified URL. | |||||||||||
| Delete the resources at the specified URI. | |||||||||||
| Execute the HTTP method to the given URI template, writing the given request entity to the request, and
 returns the response as  ResponseEntity. | |||||||||||
| Execute the HTTP method to the given URI template, writing the given request entity to the request, and
 returns the response as  ResponseEntity. | |||||||||||
| Execute the HTTP method to the given URI template, writing the given request entity to the request, and
 returns the response as  ResponseEntity. | |||||||||||
| Execute the HTTP method to the given URL, preparing the request with the
  RequestCallback, and reading the response with aResponseExtractor. | |||||||||||
| Execute the HTTP method to the given URI template, preparing the request with the
  RequestCallback, and reading the response with aResponseExtractor. | |||||||||||
| Execute the HTTP method to the given URI template, preparing the request with the
  RequestCallback, and reading the response with aResponseExtractor. | |||||||||||
| Return the error handler. | |||||||||||
| Retrieve a representation by doing a GET on the URL . | |||||||||||
| Retrieve a representation by doing a GET on the URI template. | |||||||||||
| Retrieve an entity by doing a GET on the specified URL. | |||||||||||
| Retrieve a representation by doing a GET on the URI template. | |||||||||||
| Retrieve a representation by doing a GET on the URL . | |||||||||||
| Retrieve a representation by doing a GET on the specified URL. | |||||||||||
| Returns the message body converters. | |||||||||||
| Retrieve all headers of the resource specified by the URI template. | |||||||||||
| Retrieve all headers of the resource specified by the URL. | |||||||||||
| Retrieve all headers of the resource specified by the URI template. | |||||||||||
| Return the value of the Allow header for the given URL. | |||||||||||
| Return the value of the Allow header for the given URI. | |||||||||||
| Return the value of the Allow header for the given URI. | |||||||||||
| Create a new resource by POSTing the given object to the URI template,
 and returns the response as  HttpEntity. | |||||||||||
| Create a new resource by POSTing the given object to the URI template,
 and returns the response as  ResponseEntity. | |||||||||||
| Create a new resource by POSTing the given object to the URL,
 and returns the response as  ResponseEntity. | |||||||||||
| Create a new resource by POSTing the given object to the URI template, and returns the value of the
  Locationheader. | |||||||||||
| Create a new resource by POSTing the given object to the URL, and returns the value of the
  Locationheader. | |||||||||||
| Create a new resource by POSTing the given object to the URI template, and returns the value of the
  Locationheader. | |||||||||||
| Create a new resource by POSTing the given object to the URI template,
 and returns the representation found in the response. | |||||||||||
| Create a new resource by POSTing the given object to the URL,
 and returns the representation found in the response. | |||||||||||
| Create a new resource by POSTing the given object to the URI template,
 and returns the representation found in the response. | |||||||||||
| Creates a new resource by PUTting the given object to URL. | |||||||||||
| Create or update a resource by PUTting the given object to the URI. | |||||||||||
| Creates a new resource by PUTting the given object to URI template. | |||||||||||
| Set the error handler. | |||||||||||
| Set the message body converters to use. | |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Execute the given method on the provided URI. | |||||||||||
| [Expand] Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  From class
  org.springframework.http.client.support.InterceptingHttpAccessor | |||||||||||
|  From class
  org.springframework.http.client.support.HttpAccessor | |||||||||||
|  From class
  java.lang.Object | |||||||||||
|  From interface
  org.springframework.web.client.RestOperations | |||||||||||
Create a new instance of the RestTemplate based on the given ClientHttpRequestFactory.
| requestFactory | HTTP request factory to use | 
|---|
Delete the resources at the specified URI.
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| urlVariables | the variables to expand in the template | 
| RestClientException | 
|---|
Delete the resources at the specified URI.
URI Template variables are expanded using the given map.
| url | the URL | 
|---|---|
| urlVariables | the variables to expand the template | 
| RestClientException | 
|---|
Execute the HTTP method to the given URI template, writing the given request entity to the request, and
 returns the response as ResponseEntity.
 
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| method | 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 value | 
| uriVariables | the variables to expand in the template | 
| RestClientException | 
|---|
Execute the HTTP method to the given URI template, writing the given request entity to the request, and
 returns the response as ResponseEntity.
| url | the URL | 
|---|---|
| method | 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 value | 
| RestClientException | 
|---|
Execute the HTTP method to the given URI template, writing the given request entity to the request, and
 returns the response as ResponseEntity.
 
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| method | 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 value | 
| uriVariables | the variables to expand in the template | 
| RestClientException | 
|---|
Execute the HTTP method to the given URL, preparing the request with the
 RequestCallback, and reading the response with a ResponseExtractor.
| url | the URL | 
|---|---|
| method | the HTTP method (GET, POST, etc) | 
| requestCallback | object that prepares the request | 
| responseExtractor | object that extracts the return value from the response | 
ResponseExtractor
| RestClientException | 
|---|
Execute the HTTP method to the given URI template, preparing the request with the
 RequestCallback, and reading the response with a ResponseExtractor.
 
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| method | the HTTP method (GET, POST, etc) | 
| requestCallback | object that prepares the request | 
| responseExtractor | object that extracts the return value from the response | 
| urlVariables | the variables to expand in the template | 
ResponseExtractor
| RestClientException | 
|---|
Execute the HTTP method to the given URI template, preparing the request with the
 RequestCallback, and reading the response with a ResponseExtractor.
 
URI Template variables are expanded using the given URI variables map.
| url | the URL | 
|---|---|
| method | the HTTP method (GET, POST, etc) | 
| requestCallback | object that prepares the request | 
| responseExtractor | object that extracts the return value from the response | 
| urlVariables | the variables to expand in the template | 
ResponseExtractor
| RestClientException | 
|---|
Return the error handler. By default, this is the DefaultResponseErrorHandler. 
Retrieve a representation by doing a GET on the URL .
 The response is converted and stored in an ResponseEntity.
| url | the URL | 
|---|---|
| responseType | the type of the return value | 
| RestClientException | 
|---|
Retrieve a representation by doing a GET on the URI template.
 The response is converted and stored in an ResponseEntity.
 
URI Template variables are expanded using the given map.
| url | the URL | 
|---|---|
| responseType | the type of the return value | 
| urlVariables | the map containing variables for the URI template | 
| RestClientException | 
|---|
Retrieve an entity by doing a GET on the specified URL.
 The response is converted and stored in an ResponseEntity.
 
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| responseType | the type of the return value | 
| urlVariables | the variables to expand the template | 
| RestClientException | 
|---|
Retrieve a representation by doing a GET on the URI template. The response (if any) is converted and returned.
URI Template variables are expanded using the given map.
| url | the URL | 
|---|---|
| responseType | the type of the return value | 
| urlVariables | the map containing variables for the URI template | 
| RestClientException | 
|---|
Retrieve a representation by doing a GET on the URL . The response (if any) is converted and returned.
| url | the URL | 
|---|---|
| responseType | the type of the return value | 
| RestClientException | 
|---|
Retrieve a representation by doing a GET on the specified URL. The response (if any) is converted and returned.
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| responseType | the type of the return value | 
| urlVariables | the variables to expand the template | 
| RestClientException | 
|---|
Returns the message body converters. These converters are used to convert from and to HTTP requests and responses.
Retrieve all headers of the resource specified by the URI template.
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| urlVariables | the variables to expand the template | 
| RestClientException | 
|---|
Retrieve all headers of the resource specified by the URL.
| url | the URL | 
|---|
| RestClientException | 
|---|
Retrieve all headers of the resource specified by the URI template.
URI Template variables are expanded using the given map.
| url | the URL | 
|---|---|
| urlVariables | the map containing variables for the URI template | 
| RestClientException | 
|---|
Return the value of the Allow header for the given URL.
| url | the URL | 
|---|
| RestClientException | 
|---|
Return the value of the Allow header for the given URI.
URI Template variables are expanded using the given map.
| url | the URL | 
|---|---|
| urlVariables | the variables to expand in the template | 
| RestClientException | 
|---|
Return the value of the Allow header for the given URI.
URI Template variables are expanded using the given URI variables, if any.
| url | the URL | 
|---|---|
| urlVariables | the variables to expand in the template | 
| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URI template,
 and returns the response as HttpEntity.
 
URI Template variables are expanded using the given map.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| uriVariables | the variables to expand the template | 
| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URI template,
 and returns the response as ResponseEntity.
 
URI Template variables are expanded using the given URI variables, if any.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| uriVariables | the variables to expand the template | 
| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URL,
 and returns the response as ResponseEntity.
 
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URI template, and returns the value of the
 Location header. This header typically indicates where the new resource is stored.
 
URI Template variables are expanded using the given map.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| urlVariables | the variables to expand the template | 
Location header| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URL, and returns the value of the
 Location header. This header typically indicates where the new resource is stored.
 
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
Location header| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URI template, and returns the value of the
 Location header. This header typically indicates where the new resource is stored.
 
URI Template variables are expanded using the given URI variables, if any.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| urlVariables | the variables to expand the template | 
Location header| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URI template, and returns the representation found in the response.
URI Template variables are expanded using the given map.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| responseType | the type of the return value | 
| uriVariables | the variables to expand the template | 
| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URL, and returns the representation found in the response.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| responseType | the type of the return value | 
| RestClientException | 
|---|
Create a new resource by POSTing the given object to the URI template, and returns the representation found in the response.
URI Template variables are expanded using the given URI variables, if any.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be POSTed, may be null | 
| responseType | the type of the return value | 
| uriVariables | the variables to expand the template | 
| RestClientException | 
|---|
Creates a new resource by PUTting the given object to URL.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be PUT, may be null | 
| RestClientException | 
|---|
Create or update a resource by PUTting the given object to the URI.
URI Template variables are expanded using the given URI variables, if any.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be PUT, may be null | 
| urlVariables | the variables to expand the template | 
| RestClientException | 
|---|
Creates a new resource by PUTting the given object to URI template.
URI Template variables are expanded using the given map.
The request parameter can be a HttpEntity in order to
 add additional HTTP headers to the request.
| url | the URL | 
|---|---|
| request | the Object to be PUT, may be null | 
| urlVariables | the variables to expand the template | 
| RestClientException | 
|---|
Set the message body converters to use. These converters are used to convert from and to HTTP requests and responses.
Execute the given method on the provided URI. The ClientHttpRequest is processed using the RequestCallback; the response with the ResponseExtractor.
| url | the fully-expanded URL to connect to | 
|---|---|
| method | 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) | 
ResponseExtractor
| RestClientException | 
|---|