public class RestTemplateBuilder extends Object
RestTemplate. Provides
convenience methods to register converters, error handlers and
UriTemplateHandlers.
By default the built RestTemplate will attempt to use the most suitable
ClientHttpRequestFactory, call detectRequestFactory(false) if you prefer to keep the default. In a typical
auto-configured Spring Boot application this builder is available as a bean and can be
injected whenever a RestTemplate is needed.
| Constructor and Description |
|---|
RestTemplateBuilder(RestTemplateCustomizer... customizers)
Create a new
RestTemplateBuilder instance. |
| Modifier and Type | Method and Description |
|---|---|
RestTemplateBuilder |
additionalCustomizers(Collection<? extends RestTemplateCustomizer> customizers)
Add
RestTemplateCustomizers that should be applied
to the RestTemplate. |
RestTemplateBuilder |
additionalCustomizers(RestTemplateCustomizer... restTemplateCustomizers)
Add
RestTemplateCustomizers that should be applied
to the RestTemplate. |
RestTemplateBuilder |
additionalInterceptors(org.springframework.http.client.ClientHttpRequestInterceptor... interceptors)
Add additional
ClientHttpRequestInterceptors
that should be used with the RestTemplate. |
RestTemplateBuilder |
additionalInterceptors(Collection<? extends org.springframework.http.client.ClientHttpRequestInterceptor> interceptors)
Add additional
ClientHttpRequestInterceptors
that should be used with the RestTemplate. |
RestTemplateBuilder |
additionalMessageConverters(Collection<? extends org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
Add additional
HttpMessageConverters that should be
used with the RestTemplate. |
RestTemplateBuilder |
additionalMessageConverters(org.springframework.http.converter.HttpMessageConverter<?>... messageConverters)
Add additional
HttpMessageConverters that should be
used with the RestTemplate. |
RestTemplateBuilder |
basicAuthorization(String username,
String password)
Add HTTP basic authentication to requests.
|
org.springframework.web.client.RestTemplate |
build()
Build a new
RestTemplate instance and configure it using this builder. |
<T extends org.springframework.web.client.RestTemplate> |
build(Class<T> restTemplateClass)
Build a new
RestTemplate instance of the specified type and configure it
using this builder. |
<T extends org.springframework.web.client.RestTemplate> |
configure(T restTemplate)
Configure the provided
RestTemplate instance using this builder. |
RestTemplateBuilder |
customizers(Collection<? extends RestTemplateCustomizer> restTemplateCustomizers)
Set the
RestTemplateCustomizers that should be
applied to the RestTemplate. |
RestTemplateBuilder |
customizers(RestTemplateCustomizer... restTemplateCustomizers)
Set the
RestTemplateCustomizers that should be
applied to the RestTemplate. |
RestTemplateBuilder |
defaultMessageConverters()
Set the
HttpMessageConverters that should be used with
the RestTemplate to the default set. |
RestTemplateBuilder |
detectRequestFactory(boolean detectRequestFactory)
Set if the
ClientHttpRequestFactory should be detected based on the
classpath. |
RestTemplateBuilder |
errorHandler(org.springframework.web.client.ResponseErrorHandler errorHandler)
Set the
ResponseErrorHandler that should be used with the
RestTemplate. |
RestTemplateBuilder |
interceptors(org.springframework.http.client.ClientHttpRequestInterceptor... interceptors)
Set the
ClientHttpRequestInterceptors that
should be used with the RestTemplate. |
RestTemplateBuilder |
interceptors(Collection<org.springframework.http.client.ClientHttpRequestInterceptor> interceptors)
Set the
ClientHttpRequestInterceptors that
should be used with the RestTemplate. |
RestTemplateBuilder |
messageConverters(Collection<? extends org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
Set the
HttpMessageConverters that should be used with
the RestTemplate. |
RestTemplateBuilder |
messageConverters(org.springframework.http.converter.HttpMessageConverter<?>... messageConverters)
Set the
HttpMessageConverters that should be used with
the RestTemplate. |
RestTemplateBuilder |
requestFactory(Class<? extends org.springframework.http.client.ClientHttpRequestFactory> requestFactory)
Set the
ClientHttpRequestFactory class that should be used with the
RestTemplate. |
RestTemplateBuilder |
requestFactory(org.springframework.http.client.ClientHttpRequestFactory requestFactory)
Set the
ClientHttpRequestFactory that should be used with the
RestTemplate. |
RestTemplateBuilder |
rootUri(String rootUri)
Set a root URL that should be applied to each request that starts with
'/'. |
RestTemplateBuilder |
setConnectTimeout(int connectTimeout)
Sets the connect timeout in milliseconds on the underlying
ClientHttpRequestFactory. |
RestTemplateBuilder |
setReadTimeout(int readTimeout)
Sets the read timeout in milliseconds on the underlying
ClientHttpRequestFactory. |
RestTemplateBuilder |
uriTemplateHandler(org.springframework.web.util.UriTemplateHandler uriTemplateHandler)
Set the
UriTemplateHandler that should be used with the
RestTemplate. |
public RestTemplateBuilder(RestTemplateCustomizer... customizers)
RestTemplateBuilder instance.customizers - any RestTemplateCustomizers that
should be applied when the RestTemplate is builtpublic RestTemplateBuilder detectRequestFactory(boolean detectRequestFactory)
ClientHttpRequestFactory should be detected based on the
classpath. Default if true.detectRequestFactory - if the ClientHttpRequestFactory should be
detectedpublic RestTemplateBuilder rootUri(String rootUri)
'/'.
See RootUriTemplateHandler for details.rootUri - the root URI or nullpublic RestTemplateBuilder messageConverters(org.springframework.http.converter.HttpMessageConverter<?>... messageConverters)
HttpMessageConverters that should be used with
the RestTemplate. Setting this value will replace any previously configured
converters.messageConverters - the converters to setadditionalMessageConverters(HttpMessageConverter...)public RestTemplateBuilder messageConverters(Collection<? extends org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
HttpMessageConverters that should be used with
the RestTemplate. Setting this value will replace any previously configured
converters.messageConverters - the converters to setadditionalMessageConverters(HttpMessageConverter...)public RestTemplateBuilder additionalMessageConverters(org.springframework.http.converter.HttpMessageConverter<?>... messageConverters)
HttpMessageConverters that should be
used with the RestTemplate.messageConverters - the converters to addmessageConverters(HttpMessageConverter...)public RestTemplateBuilder additionalMessageConverters(Collection<? extends org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
HttpMessageConverters that should be
used with the RestTemplate.messageConverters - the converters to addmessageConverters(HttpMessageConverter...)public RestTemplateBuilder defaultMessageConverters()
HttpMessageConverters that should be used with
the RestTemplate to the default set. Calling this method will replace any
previously defined converters.messageConverters(HttpMessageConverter...)public RestTemplateBuilder interceptors(org.springframework.http.client.ClientHttpRequestInterceptor... interceptors)
ClientHttpRequestInterceptors that
should be used with the RestTemplate. Setting this value will replace any
previously defined interceptors.interceptors - the interceptors to setadditionalInterceptors(ClientHttpRequestInterceptor...)public RestTemplateBuilder interceptors(Collection<org.springframework.http.client.ClientHttpRequestInterceptor> interceptors)
ClientHttpRequestInterceptors that
should be used with the RestTemplate. Setting this value will replace any
previously defined interceptors.interceptors - the interceptors to setadditionalInterceptors(ClientHttpRequestInterceptor...)public RestTemplateBuilder additionalInterceptors(org.springframework.http.client.ClientHttpRequestInterceptor... interceptors)
ClientHttpRequestInterceptors
that should be used with the RestTemplate.interceptors - the interceptors to addinterceptors(ClientHttpRequestInterceptor...)public RestTemplateBuilder additionalInterceptors(Collection<? extends org.springframework.http.client.ClientHttpRequestInterceptor> interceptors)
ClientHttpRequestInterceptors
that should be used with the RestTemplate.interceptors - the interceptors to addinterceptors(ClientHttpRequestInterceptor...)public RestTemplateBuilder requestFactory(Class<? extends org.springframework.http.client.ClientHttpRequestFactory> requestFactory)
ClientHttpRequestFactory class that should be used with the
RestTemplate.requestFactory - the request factory to usepublic RestTemplateBuilder requestFactory(org.springframework.http.client.ClientHttpRequestFactory requestFactory)
ClientHttpRequestFactory that should be used with the
RestTemplate.
Note that this request factory will be shared with all builder instances derived from that point.
requestFactory - the request factory to usepublic RestTemplateBuilder uriTemplateHandler(org.springframework.web.util.UriTemplateHandler uriTemplateHandler)
UriTemplateHandler that should be used with the
RestTemplate.uriTemplateHandler - the URI template handler to usepublic RestTemplateBuilder errorHandler(org.springframework.web.client.ResponseErrorHandler errorHandler)
ResponseErrorHandler that should be used with the
RestTemplate.errorHandler - the error handler to usepublic RestTemplateBuilder basicAuthorization(String username, String password)
BasicAuthorizationInterceptor for details.username - the user namepassword - the passwordpublic RestTemplateBuilder customizers(RestTemplateCustomizer... restTemplateCustomizers)
RestTemplateCustomizers that should be
applied to the RestTemplate. Customizers are applied in the order that they
were added after builder configuration has been applied. Setting this value will
replace any previously configured customizers.restTemplateCustomizers - the customizers to setadditionalCustomizers(RestTemplateCustomizer...)public RestTemplateBuilder customizers(Collection<? extends RestTemplateCustomizer> restTemplateCustomizers)
RestTemplateCustomizers that should be
applied to the RestTemplate. Customizers are applied in the order that they
were added after builder configuration has been applied. Setting this value will
replace any previously configured customizers.restTemplateCustomizers - the customizers to setadditionalCustomizers(RestTemplateCustomizer...)public RestTemplateBuilder additionalCustomizers(RestTemplateCustomizer... restTemplateCustomizers)
RestTemplateCustomizers that should be applied
to the RestTemplate. Customizers are applied in the order that they were
added after builder configuration has been applied.restTemplateCustomizers - the customizers to addcustomizers(RestTemplateCustomizer...)public RestTemplateBuilder additionalCustomizers(Collection<? extends RestTemplateCustomizer> customizers)
RestTemplateCustomizers that should be applied
to the RestTemplate. Customizers are applied in the order that they were
added after builder configuration has been applied.customizers - the customizers to addcustomizers(RestTemplateCustomizer...)public RestTemplateBuilder setConnectTimeout(int connectTimeout)
ClientHttpRequestFactory.connectTimeout - the connect timeout in millisecondspublic RestTemplateBuilder setReadTimeout(int readTimeout)
ClientHttpRequestFactory.readTimeout - the read timeout in millisecondspublic org.springframework.web.client.RestTemplate build()
RestTemplate instance and configure it using this builder.RestTemplate instance.build(Class),
configure(RestTemplate)public <T extends org.springframework.web.client.RestTemplate> T build(Class<T> restTemplateClass)
RestTemplate instance of the specified type and configure it
using this builder.T - the type of rest templaterestTemplateClass - the template type to createRestTemplate instance.build(),
configure(RestTemplate)public <T extends org.springframework.web.client.RestTemplate> T configure(T restTemplate)
RestTemplate instance using this builder.T - the type of rest templaterestTemplate - the RestTemplate to configurebuild(),
build(Class)Copyright © 2018 Pivotal Software, Inc.. All rights reserved.