Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Questo contenuto non è disponibile nella lingua selezionata.
48.5. Configuring the Client Endpoint
Overview Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
It is possible to augment the functionality of the base
javax.ws.rs.client.Client
object by registering and configuring features and providers.
Example Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
The following example shows a client configured to have a logging feature, a custom entity provider, and to set the
prettyLogging
property to true
:
Configurable API for registering objects Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
The
Client
class supports the Configurable
API for registering objects, which provides several variants of the register
method. In most cases, you would register either a class or an object instance, as shown in the following examples:
client.register(LoggingFeature.class) client.register(new LoggingFeature())
client.register(LoggingFeature.class)
client.register(new LoggingFeature())
For more details about the
register
variants, see the reference documentation for Configurable
.
What can you configure on the client? Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
You can configure the following aspects of a client endpoint:
- Features
- Providers
- Properties
- Filters
- Interceptors
Features Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
A
javax.ws.rs.core.Feature
is effectively a plug-in that adds an extra feature or functionality to a JAX-RS client. Often, a feature installs one or more interceptors in order to provide the required functionality.
Providers Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
A provider is a particular kind of client plug-in that provides a mapping capability. The JAX-RS 2.0 specification defines the following kinds of provider:
- Entity providers
- An entity provider provides the capability of mapping between a specific media type a Java type. For more details, see Section 48.4, “Parsing Requests and Responses”.
- Exception mapping providers
- An exception mapping provider maps a checked runtime exception to an instance of
Response
. - Context providers
- A context provider is used on the server side, to supply context to resource classes and other service providers.
Filters Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
A JAX-RS 2.0 filter is a plug-in that gives you access to the URI, headers, and miscellaneous context data at various points (extension points) of the message processing pipeline. For details, see Chapter 60, JAX-RS 2.0 Filters and Interceptors.
Interceptors Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
A JAX-RS 2.0 interceptor is a plug-in that gives you access to the message body of a request or response as it is being read or written. For details, see Chapter 60, JAX-RS 2.0 Filters and Interceptors.
Properties Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
By setting one or more properties on the client, you can customize the configuration of a registered feature or a registered provider.
Other configurable types Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
It is possible, not only to configure a
javax.ws.rs.client.Client
(and javax.ws.rs.client.ClientBuilder
) object, but also a WebTarget
object. When you change the configuration of a WebTarget
object, the underlying client configuration is deep copied to give the new WebTarget
configuration. Hence, it is possible to change the configuration of the WebTarget
object without changing the configuration of the original Client
object.