49.5. 配置客户端端点


概述

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

Example

以下示例显示了将配置为具有日志记录功能、自定义实体提供程序的客户端,并将 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

客户端 类支持配置 API 来注册对象,它提供多个寄存器 方法变体。在大多数情况下,您将注册一个类或对象实例,如下例所示:

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

有关 寄存器 变体的详情,请查看 配置文档

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

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

  • 功能
  • 供应商
  • 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 Filters 和 Interceptors

拦截器

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

Properties

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

其他可配置类型

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.