设置查询字符串参数
适用于:所有 API 管理层级
set-query-parameter
策略添加、删除请求查询字符串参数或替换其值。 可用于传递后端服务所需的查询参数,这些参数是可选的或者永远不能出现在请求中。
提示
为了帮助你配置此策略,门户提供了基于窗体的引导式编辑器。 详细了解如何设置或编辑 API 管理策略。
策略语句
<set-query-parameter name="param name" exists-action="override | skip | append | delete">
<value>value</value> <!--for multiple parameters with the same name add additional value elements-->
</set-query-parameter>
属性
客户 | 说明 | 需要 | 默认 |
---|---|---|---|
exists-action | 指定当查询参数已指定时要执行的操作。 此属性必须具有下列值之一。 - override - 替换现有参数的值。- skip - 不替换现有查询参数值。- append - 将值追加到现有查询参数值。- delete - 从请求中删除查询参数。如果设置为 override ,则登记多个同名的条目会导致根据所有条目(将多次列出)设置查询参数;结果中只会设置列出的值。允许使用策略表达式。 |
否 | override |
name | 指定要设置的查询参数的名称。 允许使用策略表达式。 | 是 | 空值 |
元素
名称 | 说明 | 必需 |
---|---|---|
value | 指定要设置的查询参数的值。 如需多个查询参数使用同一名称,请添加更多的 value 元素。 允许使用策略表达式。 |
是 |
使用情况
示例
设置查询参数的值
<set-query-parameter name="api-key" exists-action="skip">
<value>12345678901</value>
</set-query-parameter>
设置查询参数以将上下文转发到后端
此示例演示了如何在 API 级别应用策略,以便将上下文信息提供给后端服务。
<!-- Copy this snippet into the inbound element to forward a piece of context, product name in this example, to the backend service for logging or evaluation -->
<set-query-parameter name="x-product-name" exists-action="override">
<value>@(context.Product.Name)</value>
</set-query-parameter>
相关策略
后续步骤
有关使用策略的详细信息,请参阅:
- 教程:转换和保护 API
- 策略参考,其中提供了策略语句及其设置的完整列表
- 策略表达式
- 设置或编辑策略
- 策略示例