建立、存取及轉換訊息

本頁內容適用於 ApigeeApigee 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 中處理資料時,通常只要將狀態資料當做流程變數值即可。您通常可以透過取得或設定變數值的政策來完成這項操作。舉例來說,您可能想將變數值塑造成訊息,或是擷取訊息內容來設定變數值。

請務必參閱下列兩項政策:

建立更複雜的轉換

如果資料處理的複雜程度超出內含政策的適用範圍,您可以使用程序語言,例如 JavaScript、Java 或 Python。

一般來說,這需要以其中一種語言編寫程式碼,然後從特定於該語言的政策中叫用程式碼。詳情請參閱「加入程序程式碼」。