クエリ文字列パラメーターの設定

適用対象: すべての API Management レベル

set-query-parameter ポリシーは、要求クエリ文字列パラメーターの追加、値の置換、または削除を行います。 このポリシーを使用すると、オプションであるかまたは要求内に存在しない、バックエンド サービスで必要とされるクエリ パラメーターを渡すことができます。

Note

ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 このポリシーの構成に役立つ、ガイド付きのフォーム ベース エディターがポータルに用意されています。 API Management ポリシーを設定または編集する方法について説明します。

ポリシー ステートメント

<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>

属性

Name 説明 必要 Default
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>

詳細については、ポリシー式およびコンテキスト変数に関する各ページを参照してください。

ポリシーに対する処理の詳細については、次のトピックを参照してください。