Interface RestClientBuilder
- All Superinterfaces:
Configurable<RestClientBuilder>
This is the main entry point for creating a Type Safe Rest Client.
Invoking newBuilder()
is intended to always create a new instance,
not use a cached version.
The RestClientBuilder
is a Configurable
class as defined
by JAX-RS. This allows a user to register providers, implementation specific
configuration.
Implementations are expected to implement this class and provide the instance
via the mechanism in RestClientBuilderResolver.instance()
.
-
Method Summary
Modifier and TypeMethodDescriptiondefault RestClientBuilder
Specifies the base URI to be used when making requests.Specifies the base URL to be used when making requests.<T> T
Based on the configured RestClientBuilder, creates a new instance of the given REST interface to invoke API calls against.executorService
(ExecutorService executor) Specifies theExecutorService
to use when invoking asynchronous Rest Client interface methods.static RestClientBuilder
-
Method Details
-
newBuilder
-
baseUrl
Specifies the base URL to be used when making requests. Assuming that the interface has a@Path("/api")
at the interface level and aurl
is given withhttp://my-service:8080/service
then all REST calls will be invoked with aurl
ofhttp://my-service:8080/service/api
in addition to any@Path
annotations included on the method. Subsequent calls to this method will replace the previously specified baseUri/baseUrl.- Parameters:
url
- the base Url for the service.- Returns:
- the current builder with the baseUrl set.
-
baseUri
Specifies the base URI to be used when making requests. Assuming that the interface has a@Path("/api")
at the interface level and auri
is given withhttp://my-service:8080/service
then all REST calls will be invoked with auri
ofhttp://my-service:8080/service/api
in addition to any@Path
annotations included on the method. Subsequent calls to this method will replace the previously specified baseUri/baseUrl.- Parameters:
uri
- the base URI for the service.- Returns:
- the current builder with the baseUri set
- Throws:
IllegalArgumentException
- if the passed in URI is invalid- Since:
- 1.1
-
executorService
Specifies theExecutorService
to use when invoking asynchronous Rest Client interface methods. By default, the executor service used is determined by the MP Rest Client implementation runtime.- Parameters:
executor
- the executor service for the runtime to use when invoking asynchronous Rest Client interface methods - must be non-null.- Returns:
- the current builder with the executorService set.
- Throws:
IllegalArgumentException
- if theexecutor
parameter is null.
-
build
Based on the configured RestClientBuilder, creates a new instance of the given REST interface to invoke API calls against.- Type Parameters:
T
- the type of the interface- Parameters:
clazz
- the interface that defines REST API methods for use- Returns:
- a new instance of an implementation of this REST interface that
- Throws:
IllegalStateException
- if not all pre-requisites are satisfied for the builder, this exception may get thrown. For instance, if the base URI/URL has not been set.RestClientDefinitionException
- if the passed-in interface class is invalid.
-