ステップ 6: ポリシーを接続する

このページは ApigeeApigee ハイブリッドに適用されます。

Apigee Edge ドキュメントを表示する

ポリシーは、メッセージの形式の変換、アクセス制御の適用、リモート サービスの呼び出し、ユーザーの認証、潜在的な脅威についてのメール コンテンツの調査などを行えます。詳しくは、ポリシーとはをご覧ください。

プロキシ エンドポイントとターゲット エンドポイントは、リクエストとレスポンスのフローと呼ばれる、リクエストとレスポンスのメッセージを処理するためのパイプラインを定義します。フローは、API リクエストの処理パスに沿った連続したステージです。ポリシーは、処理ステップとしてリクエストとレスポンスのメッセージ フローのさまざまなポイントに接続されます。

次の手順では、新しいポリシーを作成し、PreFlow レスポンス フローの API プロキシに接続して、他の処理が行われる前にポリシーが適用されるようにします。このチュートリアルで使用する XMLtoJSON ポリシーは、API のレスポンス メッセージのペイロードを XML から JSON に変換します。

  1. XMLtoJSON ポリシーを作成します。
    1. Apigee セクションで helloworld API プロキシ バンドルを開き、policies フォルダにカーソルを合わせて、作成アイコン をクリックします。

      [Apigee] セクションの default.xml ターゲット エンドポイント ファイル

      [Create policy] ウィザードが開きます。

    2. ポリシー カテゴリとして [Mediation] を選択します。
    3. ポリシータイプとして [XML to JSON] を選択します。
    4. ポリシー名として「XMLtoJSON」と入力し、Enter キーを押します。

      Apigee セクションで API プロキシの /policies フォルダにポリシーが追加され、エディタで開きます。

    5. ポリシーを編集して <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>
  2. デフォルトのプロキシ エンドポイントにポリシーを接続します。
    1. helloworld API プロキシ バンドルの proxies フォルダを開き、default.xml をクリックしてファイルをエディタで開きます。
    2. 次に示すように、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>
  3. 環境を再デプロイするには、[Apigee] セクションの dev Environment フォルダにカーソルを合わせ、デプロイ アイコン をクリックします。

    dev 環境フォルダにカーソルを合わせると、デプロイ アイコンが表示される

  4. エクスポートするテストバンドルを選択するように求められたら、すでにテストバンドルがエクスポートされているため [テストバンドルなしでデプロイ] をクリックします。

    テストバンドルのエクスポートをするためのプロンプト

  5. [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