设置查询字符串参数

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>

有关详细信息,请参阅策略表达式上下文变量

后续步骤

有关使用策略的详细信息,请参阅: