步驟 4:新增政策

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

您已變更目標端點,可以開始新增 對 Proxy 套用政策

「政策」是指您可以附加至訊息中不同點的 Edge 元件 傳遞訊息政策可以轉換訊息格式、強制執行存取權控管, 呼叫遠端服務、授權使用者、檢查訊息內容是否含有潛在威脅,並執行多項動作 內容。

在這個教學課程中,您要將 XMLtoJSON 政策新增至 Proxy。這項政策 將 XML 訊息的酬載轉換為 JSON。它也會變更 Content-Type 標頭。

如何將 XML 新增至 JSON 政策至 Proxy:

  1. 在瀏覽器中開啟 Edge UI 並登入。
  2. 在主視窗中按一下「API Proxy」,然後選取 Proxy。在本例中 選取您在步驟 1:建立 API Proxy 中建立的 Proxy。
  3. 按一下「開發」分頁標籤:

    Edge 會顯示 API Proxy 編輯器。

  4. 導覽器窗格中,按一下Proxy 端點>預設 > PreFlow

    Edge 會顯示 Flow 編輯器:

    此外,Edge 會在 「Code」窗格:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ProxyEndpoint name="default">
      <Description/>
      <FaultRules/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <Flows/>
      <HTTPProxyConnection>
        <BasePath>/getstarted</BasePath>
        <Properties/>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
      </HTTPProxyConnection>
      <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
      </RouteRule>
    </ProxyEndpoint>
  5. 如要將政策新增至 Proxy,請點選「+ 步驟」按鈕 回應 PreFlow (流程編輯器的下半部):

    Edge 會在「Add」對話方塊中顯示經過分類的政策清單, 您可以新增這些 Pod

  6. 向下捲動並選取中介服務中的「XML 到 JSON」政策 類別
  7. 保留預設名稱,然後按一下「新增」

    Edge 會將新政策附加到回應的 PreFlow:

    請注意,點選「Add」後,Edge 會執行以下作業:

    • 在「Navigator」中的「Policies」之下新增政策 窗格。
    • 在「Flow」窗格中,將 XML 新增至 JSON 政策。
    • 在「Code」窗格中顯示政策的設定 XML。
  8. 按一下「儲存」,即可儲存目前的修訂版本包含變更內容。

現在就試試看吧!在終端機視窗中執行下列 curl 指令:

curl https://org_name-test.apigee.net/getstarted

在此情況下:

,瞭解如何調查及移除這項存取權。

或者,您也可以在瀏覽器中開啟相同的網址。

您應該會收到下列回應內容:

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}
敬上

如果回應主體不如下所示,請檢查:

  1. 如下所述,您的目標端點為「https://mocktarget.apigee.net/xml」 步驟 3:變更目標端點
    • 如果收到「Hello, Guest!」為回應,則須附加「/xml」到結尾 目標端點
    • 如果看到 404,請確認您存取到「apigee.net」而非 「apigee.com」。
  2. 已部署最新 Proxy 修訂版本。按照說明,重新部署 API Proxy 部署及取消部署 API Proxy

如要查看 HTTP 要求和回應標頭,請在 curl 中啟用詳細程度,並使用 -vs 選項 (v 會讓回覆更詳細,但 s 則隱藏 一些比較不有趣的細節)。例如:

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

您應該會收到類似下方的回應。請注意, 回應中的 Content-Type 標頭為「application/json」。XML 到 JSON 政策 會變更標頭,然後再傳回回應。

*   Trying 10.20.30.40...
* TCP_NODELAY set
* Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0)
...
> GET /getstarted HTTP/1.1
> Host: ahamilton-eval-test.apigee.net
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 25 May 2018 16:20:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 77
< Connection: keep-alive
< X-Powered-By: Apigee
< Access-Control-Allow-Origin: *
...
{ [77 bytes data]
{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

下一步

深入瞭解