URL の書き換え
適用対象: すべての API Management レベル
rewrite-uri
ポリシーは、次の例に示すように、要求 URL をパブリックな形式から Web サービスで想定されている形式に変換します。
パブリック URL -
http://api.example.com/storenumber/ordernumber
要求 URL -
http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State
このポリシーは、人間やブラウザーにとって使いやすい URL を Web サービスで求められる URL 形式に変換する必要がある場合に使用します。 このポリシーを適用する必要があるのは、クリーン URL、RESTful URL、ユーザーフレンドリ URL、SEO フレンドリ URL などの、(スキーマと機関の後に) クエリ文字列を含まずリソースのパスのみを含む純粋に構造的な URL のような代替 URL 形式を公開するときのみです。 これは、一般的に、美学上、使いやすさ、または検索エンジン最適化 (SEO) の目的で行われます。
Note
ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。
ポリシー ステートメント
<rewrite-uri template="uri template" copy-unmatched-params="true | false" />
属性
Name | 説明 | 必要 | Default |
---|---|---|---|
template | クエリ文字列パラメーターを設定した実際の Web サービス URL。 ポリシー式を使用できます。 式を使用するときは、値全体が式である必要があります。 | はい | 該当なし |
copy-unmatched-params | 元の URL テンプレートに存在しない着信要求のクエリ パラメーターを、書き換えテンプレートで定義されている URL に追加するかどうかを指定します。 ポリシー式を使用できます。 | いいえ | true |
使用法
- ポリシー セクション: inbound
- ポリシー スコープ: グローバル、ワークスペース、製品、API、操作
- ゲートウェイ: クラシック、v2、従量課金、セルフホステッド、ワークスペース
使用上の注意
ポリシーを使用して追加できるのはクエリ文字列パラメーターのみです。 書き換え URL にさらにテンプレート パス パラメーターを追加することはできません。
例
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}&{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put?c=d -->
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" copy-unmatched-params="false" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put -->
関連ポリシー
関連するコンテンツ
ポリシーに対する処理の詳細については、次のトピックを参照してください。
- チュートリアル:API を変換および保護する
- ポリシー ステートメントとその設定の一覧に関するポリシー リファレンス
- ポリシー式
- ポリシーの設定または編集
- ポリシー構成を再利用する
- ポリシー スニペットのリポジトリ
- Azure で Microsoft Copilot を使用してポリシーを作成する