查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
您已變更目標端點,可以開始新增 對 Proxy 套用政策
「政策」是指您可以附加至訊息中不同點的 Edge 元件 傳遞訊息政策可以轉換訊息格式、強制執行存取權控管, 呼叫遠端服務、授權使用者、檢查訊息內容是否含有潛在威脅,並執行多項動作 內容。
在這個教學課程中,您要將 XMLtoJSON 政策新增至 Proxy。這項政策
將 XML 訊息的酬載轉換為 JSON。它也會變更
Content-Type
標頭。
如何將 XML 新增至 JSON 政策至 Proxy:
- 在瀏覽器中開啟 Edge UI 並登入。
- 在主視窗中按一下「API Proxy」,然後選取 Proxy。在本例中 選取您在步驟 1:建立 API Proxy 中建立的 Proxy。
按一下「開發」分頁標籤:
Edge 會顯示 API Proxy 編輯器。
在導覽器窗格中,按一下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>
- 如要將政策新增至 Proxy,請點選「+ 步驟」按鈕
回應 PreFlow (流程編輯器的下半部):
Edge 會在「Add」對話方塊中顯示經過分類的政策清單, 您可以新增這些 Pod
- 向下捲動並選取中介服務中的「XML 到 JSON」政策 類別
保留預設名稱,然後按一下「新增」。
Edge 會將新政策附加到回應的 PreFlow:
請注意,點選「Add」後,Edge 會執行以下作業:
- 在「Navigator」中的「Policies」之下新增政策 窗格。
- 在「Flow」窗格中,將 XML 新增至 JSON 政策。
- 在「Code」窗格中顯示政策的設定 XML。
- 按一下「儲存」,即可儲存目前的修訂版本包含變更內容。
現在就試試看吧!在終端機視窗中執行下列 curl
指令:
curl https://org_name-test.apigee.net/getstarted
在此情況下:
- org_name 是 Apigee 在 您已建立 Apigee 帳戶
-test
是環境。您已將新 Proxy 部署至 「test」參閱步驟 1:建立 API Proxy。/getstarted
是 Proxy 基本路徑。
或者,您也可以在瀏覽器中開啟相同的網址。
您應該會收到下列回應內容:
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
如果回應主體不如下所示,請檢查:
- 如下所述,您的目標端點為「https://mocktarget.apigee.net/xml」
步驟 3:變更目標端點:
- 如果收到「Hello, Guest!」為回應,則須附加「/xml」到結尾 目標端點
- 如果看到 404,請確認您存取到「apigee.net」而非 「apigee.com」。
- 已部署最新 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" } }