このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
Apigee ポリシーは、メッセージの形式の変換、アクセス制御の適用、リモート サービスの呼び出し、ユーザーの認証、潜在的な脅威についてのメール コンテンツの調査などを行えます。詳しくは、ポリシーとはをご覧ください。
プロキシ エンドポイントとターゲット エンドポイントは、リクエストとレスポンスのフローと呼ばれる、リクエストとレスポンスのメッセージを処理するためのパイプラインを定義します。フローは、API リクエストの処理パスに沿った連続したステージです。ポリシーは、処理ステップとしてリクエストとレスポンスのメッセージ フローのさまざまなポイントに接続されます。
次の手順では、新しいポリシーを作成し、PreFlow
レスポンス フローの API プロキシに接続して、他の処理が行われる前にポリシーが適用されるようにします。このチュートリアルで使用する XMLtoJSON ポリシーは、API のレスポンス メッセージのペイロードを XML から JSON に変換します。
- XMLtoJSON ポリシーを作成します。
- helloworld API プロキシ バンドルを開き、policies フォルダにカーソルを合わせて、 をクリックします。
[Create policy] ウィザードが開きます。
- ポリシー カテゴリとして [Mediation] を選択します。
- ポリシータイプとして [XML to JSON] を選択します。
- ポリシー名として「XMLtoJSON」と入力し、Enter キーを押します。
ポリシーが API プロキシの
/policies
フォルダに追加され、エディタで開きます。 XMLtoJSON.xml
をクリックしてポリシーを編集します。<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>
- 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>
- 変更をファイルに保存します。
- 環境を再デプロイするには、dev 環境フォルダにカーソルを合わせて をクリックします。
- エクスポートするテストバンドルを選択するように求められたら、すでにテストバンドルがエクスポートされているため [Deploy without a test bundle] をクリックします。
- [Terminal] タブで API を呼び出します。
curl 0: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