本頁適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
您可以使用 Apigee 內含的政策,操控透過 API Proxy 傳送的訊息。您可以透過政策執行以下操作:
- 在不同格式之間轉換訊息,例如從 XML 轉換為 JSON。
- 根據訊息內容設定變數值,並使用變數值建立訊息。
- 使用 JavaScript、Java 和 Python 等程序碼,以更複雜的方式處理訊息和資料。
一般來說,使用這些政策時,您會將輸入和輸出指定為流程變數。在執行期間,Apigee 會從來源變數擷取輸入值,並將輸出值寫入輸出變數。
本主題將介紹這些功能。如需更完整的技術資訊,請參閱各項政策的參考資料。
簡單處理 XML 和 JSON
Apigee 提供的政策可讓您更輕鬆地在 XML 和 JSON 之間轉換,並使用 XSL 轉換 XML。
將 JSON 轉換為 XML
JSONtoXML 政策會將 JSON 輸入內容轉換為 XML。
在下列政策範例中,政策會從 request
變數取得 JSON 格式的訊息,然後將變數值替換為 XML 格式的訊息。輸入內容會在 <Source>
元素中指定,輸出內容則會在 <OutputVariable>
元素中指定。
<JSONToXML name="jsontoxml"> <Source>request</Source> ---> INPUT <OutputVariable>request</OutputVariable> OUTPUT ---> </JSONToXML>
將 XML 轉換為 JSON
XMLtoJSON 政策會將 XML 輸入訊息轉換為 JSON。
在下列政策範例中,政策會從 response
變數取得 XML 格式的訊息,然後將變數值替換為 JSON 格式的訊息。輸入內容會在 <Source>
元素中指定,輸出內容則會在 <OutputVariable>
元素中指定。
<XMLToJSON name="ConvertToJSON"> <Source>response</Source> ---> INPUT <OutputVariable>response</OutputVariable> OUTPUT ---> </XMLToJSON>
使用 XSL 轉換 XML
您可以使用 XSLTransform 政策,透過 XSL 轉換郵件。舉例來說,將 JSON 酬載轉換為 XML 後,您可以使用 XSL 轉換政策搭配樣式表,執行所需的轉換作業。
在下列政策範例中,政策會從 response
變數取得 XML 格式的訊息,然後將變數值替換為由 my_transform.xsl
格式化的訊息。輸入內容會在 <Source>
元素中指定,而輸出內容則會在 <OutputVariable>
元素中指定。
<XSL name="TransformXML"> <Source>response</Source> ---> INPUT <ResourceURL>xsl://my_transform.xsl</ResourceURL> --TRANSFORMER-- <OutputVariable>response</OutputVariable> OUTPUT ---> </XSL>
處理變數資料
在 Proxy 中處理資料時,通常只需將狀態資料視為流程變數值即可。您通常可以使用可取得或設定變數值的政策來執行這項操作。舉例來說,您可能會想將變數值轉換為訊息,或是擷取訊息內容來設定變數值。
請務必參考下列兩項政策:
- AssignMessage 政策:使用變數值建立訊息。
- ExtractVariables 政策:可指派來自訊息內容的變數。
建立更複雜的轉換
如果資料處理的複雜度超出內含政策的功能範圍,您可以使用 JavaScript、Java 或 Python 等程序語言。
一般來說,這類作業包括使用其中一種語言編寫程式碼,然後從該語言專屬的政策叫用程式碼。如需進一步瞭解這項功能,請參閱「加入程序程式碼」。