步驟 6:附加政策

本頁適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

Apigee 政策可轉換訊息格式、強制執行存取權控管、呼叫遠端服務、授權使用者、檢查訊息內容是否有潛在威脅,以及執行其他操作。詳情請參閱「什麼是政策?」一文。

Proxy 和目標端點會定義要求和回應訊息處理管道,稱為要求和回應流程。流程是 API 要求處理路徑中的連續階段。政策會附加至要求和回應訊息流程的不同點,做為處理步驟

在後續步驟中,您將建立新的政策,並在 PreFlow 回應流程中附加至 API Proxy,確保在任何其他處理作業發生前套用政策。本教學課程使用的 XMLtoJSON 政策,可將 API 回應訊息的酬載從 XML 轉換為 JSON。

  1. 建立 XMLtoJSON 政策。
    1. 展開 helloworld API 代理程式套件,將游標移至「policies」資料夾,然後按一下 建立新政策的圖示

      default.xml 目標端點檔案

      系統會開啟「建立政策」精靈。

    2. 選取「中介服務」做為政策類別。
    3. 選取「XML 轉換為 JSON」做為政策類型。
    4. 輸入「XMLtoJSON」做為政策名稱,然後按一下「Enter」

      政策會新增至 API 代理程式的 /policies 資料夾,並在編輯器中開啟。

    5. 按一下 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>
  2. 將政策附加至預設 Proxy 端點。
    1. 展開 helloworld API 代理程式套件的 proxies 資料夾,然後點選 default.xml,在編輯器中開啟檔案。
    2. 將參照 XMLtoJSON 政策的 <Step> 元素新增至 API Proxy <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. 儲存檔案變更。
  3. 如要重新部署環境,請將滑鼠游標移至 dev 環境資料夾,然後按一下 環境的部署圖示

    將游標置於開發環境資料夾上時,系統會顯示部署圖示

  4. 系統提示您選取要匯出的測試套件時,請點選「不使用測試套件部署」,因為測試套件已匯出。

    提示匯出測試套件

  5. 在「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 (NEXT) 步驟 7:部署至 Apigee 環境 8