步驟 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 to 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. 在 API Proxy <PreFlow><Response> 流程中,新增參照 XMLtoJSON 政策的 <Step> 元素:
      <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. 系統提示選取要匯出的測試套件時,請按一下「Deploy without a test bundle」(部署但不使用測試套件),因為測試套件已匯出。

    提示匯出測試套件

  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) Step 7: Deploy to an Apigee environment 8