47.7. 额外选项


概述

extraOptions 选项通常用于通过提供更简单的选项来计算或隐藏复杂的 API 参数。例如,API 方法可能会使用 POJO 选项,它可作为 URI 中的 POJO 的部分更容易提供。组件可以通过添加部分作为额外选项并在内部创建 POJO 参数来实现此目的。要完成这些额外选项的实现,您还需要覆盖 EndpointConsumer 和/或 EndpointProducer 类中的 interceptProperties 方法(请参阅 第 46.4 节 “编程模型”)。

语法

extraOptions 元素可使用一个或多个 extraOption 子元素定义,如下所示:

<extraOptions>
  <extraOption>
    <type>TypeName</type>
    <name>OptionName</name>
  </extraOption>
</extraOptions>

其中 TypeName 是额外选项的完全限定域名,OptionName 是额外的 URI 选项的名称。

影响范围

如以下提取所示,extraOptions 元素可以选择性地显示为 apis 元素和/或作为 api 元素子元素的子级:

<configuration>
  <apis>
    <api>
      <apiName>...</apiName>
      ...
      <extraOptions>...</extraOptions>
    </api>
    <extraOptions>...</extraOptions>
    ...
  </apis>
</configuration>

您可以在以下范围中定义 extraOptions 元素:

  • 作为 api 元素的子级 ,extraOptions 仅适用于由 api 元素指定的 API 类。
  • 作为 apis 元素的子级 ,extraOptions 默认应用到所有 API 类,但可以在 api 级别被覆盖。

子元素

每个 extraOptions 元素都可以使用以下子元素定义:

type
指定额外选项的完全限定类型名称。
name
指定选项名称,因为它将显示在端点 URI 中。

示例

以下示例定义了额外的 URI 选项 customOption,它是 java.util.list<String> 类型:

<extraOptions>
  <extraOption>
    <type>java.util.List<String></type>
    <name>customOption</name>
  </extraOption>
</extraOptions>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.