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. |
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 null
public RestTemplateBuilder messageConverters(HttpMessageConverter<?>... messageConverters)
HttpMessageConverters
that should be used with
the RestTemplate
. Setting this value will replace any previously configured
converters and any converters configured on the builder will replace RestTemplate's
default converters.messageConverters
- the converters to setadditionalMessageConverters(HttpMessageConverter...)
public RestTemplateBuilder messageConverters(Collection<? extends HttpMessageConverter<?>> messageConverters)
HttpMessageConverters
that should be used with
the RestTemplate
. Setting this value will replace any previously configured
converters and any converters configured on the builder will replace RestTemplate's
default converters.messageConverters
- the converters to setadditionalMessageConverters(HttpMessageConverter...)
public RestTemplateBuilder additionalMessageConverters(HttpMessageConverter<?>... messageConverters)
HttpMessageConverters
that should be
used with the RestTemplate
. Any converters configured on the builder will
replace RestTemplate's default converters.messageConverters
- the converters to addmessageConverters(HttpMessageConverter...)
public RestTemplateBuilder additionalMessageConverters(Collection<? extends HttpMessageConverter<?>> messageConverters)
HttpMessageConverters
that should be
used with the RestTemplate
. Any converters configured on the builder will
replace RestTemplate's default converters.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(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<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(ClientHttpRequestInterceptor... interceptors)
ClientHttpRequestInterceptors
that should be used with the RestTemplate
.interceptors
- the interceptors to addinterceptors(ClientHttpRequestInterceptor...)
public RestTemplateBuilder additionalInterceptors(Collection<? extends ClientHttpRequestInterceptor> interceptors)
ClientHttpRequestInterceptors
that should be used with the RestTemplate
.interceptors
- the interceptors to addinterceptors(ClientHttpRequestInterceptor...)
public RestTemplateBuilder requestFactory(Class<? extends ClientHttpRequestFactory> requestFactory)
ClientHttpRequestFactory
class that should be used with the
RestTemplate
.requestFactory
- the request factory to usepublic RestTemplateBuilder requestFactory(Supplier<ClientHttpRequestFactory> requestFactorySupplier)
Supplier
of ClientHttpRequestFactory
that should be called
each time we build()
a new RestTemplate
instance.requestFactorySupplier
- the supplier for the request factorypublic RestTemplateBuilder uriTemplateHandler(UriTemplateHandler uriTemplateHandler)
UriTemplateHandler
that should be used with the
RestTemplate
.uriTemplateHandler
- the URI template handler to usepublic RestTemplateBuilder errorHandler(ResponseErrorHandler errorHandler)
ResponseErrorHandler
that should be used with the
RestTemplate
.errorHandler
- the error handler to usepublic RestTemplateBuilder basicAuthentication(String username, String password)
BasicAuthenticationInterceptor
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(Duration connectTimeout)
ClientHttpRequestFactory
.connectTimeout
- the connection timeoutpublic RestTemplateBuilder setReadTimeout(Duration readTimeout)
ClientHttpRequestFactory
.readTimeout
- the read timeoutpublic RestTemplate build()
RestTemplate
instance and configure it using this builder.RestTemplate
instance.build(Class)
,
configure(RestTemplate)
public <T extends 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 RestTemplate> T configure(T restTemplate)
RestTemplate
instance using this builder.T
- the type of rest templaterestTemplate
- the RestTemplate
to configurebuild()
,
build(Class)
Copyright © 2019 Pivotal Software, Inc.. All rights reserved.