このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge ドキュメントを表示する
ポリシーは、メッセージの形式の変換、アクセス制御の適用、リモート サービスの呼び出し、ユーザーの認証、潜在的な脅威についてのメール コンテンツの調査などを行えます。詳しくは、ポリシーとはをご覧ください。
プロキシ エンドポイントとターゲット エンドポイントは、リクエストとレスポンスのフローと呼ばれる、リクエストとレスポンスのメッセージを処理するためのパイプラインを定義します。フローは、API リクエストの処理パスに沿った連続したステージです。ポリシーは、処理ステップとしてリクエストとレスポンスのメッセージ フローのさまざまなポイントに接続されます。
次の手順では、新しいポリシーを作成し、PreFlow
レスポンス フローの API プロキシに接続して、他の処理が行われる前にポリシーが適用されるようにします。このチュートリアルで使用する XMLtoJSON ポリシーは、API のレスポンス メッセージのペイロードを XML から JSON に変換します。
- XMLtoJSON ポリシーを作成します。
- Apigee セクションで helloworld API プロキシ バンドルを開き、policies フォルダにカーソルを合わせて、 をクリックします。
[Create policy] ウィザードが開きます。
- ポリシー カテゴリとして [Mediation] を選択します。
- ポリシータイプとして [XML to JSON] を選択します。
- ポリシー名として「XMLtoJSON」と入力し、Enter キーを押します。
Apigee セクションで API プロキシの
/policies
フォルダにポリシーが追加され、エディタで開きます。 - ポリシーを編集して
<OutputVariable>
要素と<Source>
要素をresponse
に設定します。<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLtoJSON"> <DisplayName>XMLtoJSON</DisplayName> <Properties/> <Format>yahoo</Format> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
- Apigee セクションで helloworld API プロキシ バンドルを開き、policies フォルダにカーソルを合わせて、 をクリックします。
- デフォルトのプロキシ エンドポイントにポリシーを接続します。
- helloworld API プロキシ バンドルの proxies フォルダを開き、default.xml をクリックしてファイルをエディタで開きます。
- 次に示すように、XMLtoJSON ポリシーを参照する <Step> 要素を API プロキシ <PreFlow> の <Response> フローに追加します。
<ProxyEndpoint name="default"> <PreFlow name="PreFlow"> <Request> <Step> <Name>verify-api-key</Name> </Step> <Step> <Name>remove-query-param-apikey</Name> </Step> <Step> <Name>impose-quota</Name> </Step> </Request> <Response> <Step> <Name>XMLtoJSON</Name> </Step> </Response> </PreFlow> ... </ProxyEndpoint>
- 環境を再デプロイするには、[Apigee] セクションの dev Environment フォルダにカーソルを合わせ、 をクリックします。
- エクスポートするテストバンドルを選択するように求められたら、すでにテストバンドルがエクスポートされているため [テストバンドルなしでデプロイ] をクリックします。
- [Terminal] タブで API を呼び出します。
curl localhost:8998/helloworld?apikey=ZQA5euYtNeJ7ZCGCJMpvd6F2BZOmxOzY
XML レスポンスが、次のように JSON に変換されます。
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
お疲れ様でした!XMLtoJSON ポリシーを API プロキシに接続できました。
次に、API をアーカイブとして Apigee 環境にデプロイし、統合テストと本番環境リリースを行います。
次のステップ
1 2 3 4 5 6 (次へ)ステップ 7: Apigee 環境にデプロイする 8