47.7. 额外选项
概述
extraOptions
选项通常用于通过提供简单的选项来计算或隐藏复杂 API 参数。例如,API 方法可能采用 POJO 选项,该选项可以像 URI 中的 POJO 的一部分提供。该组件可以通过添加部分作为额外选项来实现此目的,并在内部创建 POJO 参数。要完成这些额外选项的实现,您还需要覆盖 EndpointConsumer
和/或 EndpointProducer
类中的拦截器 属性
方法(请参阅 第 46.4 节 “编程模型”)。
语法
extraOptions
元素可通过一个或多个 extraOption
子元素定义,如下所示:
<extraOptions> <extraOption> <type>TypeName</type> <name>OptionName</name> </extraOption> </extraOptions>
其中 TypeName
是额外选项的完全限定域名,而 options Name
是额外 URI 选项的名称。
影响范围
如以下摘录所示,extraOptions
元素可以选择性地显示为 apis
元素的子和/或作为 api
元素的子项:
<configuration> <apis> <api> <apiName>...</apiName> ... <extraOptions>...</extraOptions> </api> <extraOptions>...</extraOptions> ... </apis> </configuration>
您可以在以下范围内定义 extraOptions
元素:
-
作为
api
元素 cnf 的子 选项,extraOptions
仅适用于api
元素指定的 API 类。 -
作为
apis
元素的子项 将默认应用于所有 API 类,但可以在api
级别覆盖。
子元素
每个 extraOptions
元素都可使用以下子元素定义:
type
- 指定额外选项的完全限定类型名称。
name
- 指定选项名称,因为它将出现在端点 URI 中。
Example
以下示例定义了额外的 URI 选项 customOption
,它是 java.util.list<String>
类型:
<extraOptions> <extraOption> <type>java.util.List<String></type> <name>customOption</name> </extraOption> </extraOptions>