Package org.springframework.web.client
Interface RestClient
public interface RestClient
Client to perform HTTP requests, exposing a fluent, synchronous API over
underlying HTTP client libraries such the JDK
HttpClient
, Apache
HttpComponents, and others.
Use static factory methods create()
, create(String)
,
or builder()
to prepare an instance. To use the same
configuration as a RestTemplate
, use create(RestTemplate)
or
builder(RestTemplate)
.
For examples with a response body see:
For examples with a request body see:
- Since:
- 6.1
- Author:
- Arjen Poutsma
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
A mutable builder for creating aRestClient
.static interface
Contract for specifying request headers and body leading up to the exchange.static interface
Contract for specifying request headers, body and URI for a request.static interface
Contract for specifying request headers leading up to the exchange.static interface
Contract for specifying request headers and URI for a request.static interface
Contract for specifying response operations following the exchange.static interface
RestClient.UriSpec<S extends RestClient.RequestHeadersSpec<?>>
Contract for specifying the URI for a request. -
Method Summary
Modifier and TypeMethodDescriptionstatic RestClient.Builder
builder()
Obtain aRestClient
builder.static RestClient.Builder
builder
(RestTemplate restTemplate) Obtain aRestClient
builder based on the configuration of the givenRestTemplate
.static RestClient
create()
Create a newRestClient
.static RestClient
Variant ofcreate()
that accepts a default base URL.static RestClient
create
(RestTemplate restTemplate) Create a newRestClient
based on the configuration of the givenRestTemplate
.delete()
Start building an HTTP DELETE request.get()
Start building an HTTP GET request.head()
Start building an HTTP HEAD request.method
(HttpMethod method) Start building a request for the givenHttpMethod
.mutate()
Return a builder to create a newRestClient
whose settings are replicated from the currentRestClient
.options()
Start building an HTTP OPTIONS request.patch()
Start building an HTTP PATCH request.post()
Start building an HTTP POST request.put()
Start building an HTTP PUT request.
-
Method Details
-
get
RestClient.RequestHeadersUriSpec<?> get()Start building an HTTP GET request.- Returns:
- a spec for specifying the target URL
-
head
RestClient.RequestHeadersUriSpec<?> head()Start building an HTTP HEAD request.- Returns:
- a spec for specifying the target URL
-
post
Start building an HTTP POST request.- Returns:
- a spec for specifying the target URL
-
put
Start building an HTTP PUT request.- Returns:
- a spec for specifying the target URL
-
patch
RestClient.RequestBodyUriSpec patch()Start building an HTTP PATCH request.- Returns:
- a spec for specifying the target URL
-
delete
RestClient.RequestHeadersUriSpec<?> delete()Start building an HTTP DELETE request.- Returns:
- a spec for specifying the target URL
-
options
RestClient.RequestHeadersUriSpec<?> options()Start building an HTTP OPTIONS request.- Returns:
- a spec for specifying the target URL
-
method
Start building a request for the givenHttpMethod
.- Returns:
- a spec for specifying the target URL
-
mutate
RestClient.Builder mutate()Return a builder to create a newRestClient
whose settings are replicated from the currentRestClient
. -
create
Create a newRestClient
.- See Also:
-
create
Variant ofcreate()
that accepts a default base URL. For more details seeBuilder.baseUrl(String)
.- Parameters:
baseUrl
- the base URI for all requests- See Also:
-
create
Create a newRestClient
based on the configuration of the givenRestTemplate
. The returned builder is configured with the template's- Parameters:
restTemplate
- the rest template to base the returned client's configuration on- Returns:
- a
RestClient
initialized with therestTemplate
's configuration
-
builder
Obtain aRestClient
builder. -
builder
Obtain aRestClient
builder based on the configuration of the givenRestTemplate
. The returned builder is configured with the template's- Parameters:
restTemplate
- the rest template to base the returned builder's configuration on- Returns:
- a
RestClient
builder initialized withrestTemplate
's configuration
-