49.5. 配置客户端端点


概述

可以通过注册和配置功能和提供程序来增加基础 javax.ws.rs.client.Client 对象的功能。

示例

以下示例显示了将客户端配置为具有日志记录功能、自定义实体供应商,并将 prettyLogging 属性设为 true

// Java
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Client;
import org.apache.cxf.feature.LoggingFeature;
...
Client client = ClientBuilder.newClient();
client.register(LoggingFeature.class)
      .register(MyCustomEntityProvider.class)
      .property("LoggingFeature.prettyLogging","true");

可配置 API 用于注册对象

Client 类支持将 Configurable API 用于注册对象,它提供了 寄存器 方法的多个变体。在大多数情况下,您将注册一个类或对象实例,如下例所示:

client.register(LoggingFeature.class)
client.register(new LoggingFeature())

有关 注册 变体的详情,请参阅 配置文档中的 参考文档

您可以在客户端上配置什么?

您可以配置客户端端点的以下方面:

  • 功能
  • 供应商
  • Properties
  • 过滤器
  • 拦截器

功能

javax.ws.rs.core.Feature 实际上是一个插件,该插件向 JAX-RS 客户端添加额外的功能。通常,一个功能会安装一个或多个拦截器,以提供所需功能。

供应商

提供程序是一种特定的客户端插件,可提供映射功能。JAX-RS 2.0 规范定义了以下类型的供应商:

实体供应商
实体供应商提供 在特定介质类型 Java 类型之间映射的功能。如需了解更多详细信息,请参阅 第 49.4 节 “解析请求和响应”
映射供应商例外
一个 例外映射供应商 将检查的运行时异常映射到 Response 实例。
上下文供应商
在服务器端使用上下文提供程序,为资源类别和其他服务提供商提供上下文。

过滤器

JAX-RS 2.0 过滤器是一个插件,可让您在消息处理管道的不同点(extension点)内访问 URI、标头和各种上下文数据。详情请查看 第 61 章 JAX-RS 2.0 Filters 和 Interceptors

拦截器

JAX-RS 2.0 拦截器是一个插件,它可让您访问请求或响应的消息正文。详情请查看 第 61 章 JAX-RS 2.0 Filters 和 Interceptors

Properties

通过在客户端上设置一个或多个属性,您可以自定义注册功能或注册提供程序的配置。

其他可配置类型

不可能,不仅配置 javax.ws.rs.client.Client (和 javax.ws.rs.client.client.ClientBuilder)对象,还是一个 WebTarget 对象。当您更改 WebTarget 对象的配置时,底层客户端配置会被深入复制,以提供新的 WebTarget 配置。因此,可以在不更改原始 Client 对象的配置的情况下更改 WebTarget 对象的配置。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.