搜索

49.5. 配置客户端端点

download PDF

概述

通过注册和配置功能和提供程序,可以添加 base 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())

有关 寄存器 变体的详情,请查看 Configurable 参考文档。

您可以对客户端配置什么?

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

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

功能

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

供应商

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

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

过滤器

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

拦截器

JAX-RS 2.0 拦截器是一种插件,可让您在请求或写出时访问请求的消息正文。详情请查看 第 61 章 JAX-RS 2.0 过滤器和拦截器

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.