Interface RestClientBuilder
-
- All Superinterfaces:
Configurable<RestClientBuilder>
public interface RestClientBuilder extends 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 aConfigurable
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
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description RestClientBuilder
baseUrl(java.net.URL url)
Specifies the base URL to be used when making requests.<T> T
build(java.lang.Class<T> clazz)
Based on the configured RestClientBuilder, creates a new instance of the given REST interface to invoke API calls against.static RestClientBuilder
newBuilder()
-
-
-
Method Detail
-
newBuilder
static RestClientBuilder newBuilder()
-
baseUrl
RestClientBuilder baseUrl(java.net.URL url)
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.- Parameters:
url
- the base Url for the service.- Returns:
- the current builder with the baseUrl set
-
build
<T> T build(java.lang.Class<T> clazz) throws java.lang.IllegalStateException, RestClientDefinitionException
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:
java.lang.IllegalStateException
- if not all pre-requisites are satisfied for the builder, this exception may get thrown. For instance, if a URL has not been set.RestClientDefinitionException
- if the passed-in interface class is invalid.
-
-