建立、存取及轉換訊息

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

您可以使用 Apigee Edge 包含的政策來控管透過 API Proxy 傳送的訊息。你可以透過政策執行下列動作:

  • 將訊息轉換為不同格式,例如從 XML 轉換為 JSON。
  • 設定訊息內容的變數值,以及使用變數值建立訊息。
  • 使用 JavaScript、Java 和 Python 等程序程式碼,以更複雜的方式處理訊息與資料。

一般而言,使用這些政策時,您可以指定輸入和輸出內容做為流程變數。在執行階段,Apigee Edge 會從來源變數擷取輸入值,並將輸出值寫入輸出變數。

本主題將介紹這些功能。如需更完整和技術資訊,請參閱各項政策的參考資料。

XML 和 JSON 的簡易處理

Apigee Edge 包含相關政策,可以更輕鬆地在 XML 與 JSON 之間轉換,以及使用 XSL 轉換 XML。

將 JSON 轉換為 XML

JSON 轉 XML 政策會擷取 JSON 輸入內容,並將其轉換為 XML。

在以下政策範例中,政策會從 request 變數擷取 JSON 格式訊息,然後將變數值替換為 XML 格式的訊息。輸入內容是在 <Source> 元素中指定,而輸出內容會在 <OutputVariable> 元素中指定。

<JSONToXML name="jsontoxml">
     <Source>request</Source>
     <OutputVariable>request</OutputVariable>
</JSONToXML>

將 XML 轉換為 JSON

從 XML 到 JSON 政策會將 XML 輸入訊息轉換為 JSON。

在以下政策範例中,政策會從 response 變數擷取 XML 格式訊息,然後將變數值替換為 JSON 格式的訊息。輸入內容是在 <Source> 元素中指定,而輸出內容會在 <OutputVariable> 元素中指定。

<XMLToJSON name="ConvertToJSON">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

使用 XSL 轉換 XML

您可以透過 XSL 轉換政策使用 XSL 轉換訊息。舉例來說,將 JSON 酬載轉換為 XML 後,您可以搭配樣式工作表使用 XSL 轉換政策來執行所需的轉換。

在以下政策範例中,這項政策會從 response 變數擷取 XML 格式訊息,然後將變數值替換為 my_transform.xsl 格式的訊息。輸入內容是在 <Source> 元素中指定,而輸出內容會在 <OutputVariable> 元素中指定。

<XSL name="TransformXML">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

    <Source>request</Source>
    <ResourceURL>xsl://XSL-Transform-1.xsl</ResourceURL>
    <OutputVariable/>

處理變數資料

Proxy 中的資料處理通常只需要將狀態資料做為資料流變數值處理即可。通常可以透過取得或設定變數值的政策達成此目標。例如,您可能想要將變數值形狀成訊息,或是擷取訊息內容以設定變數值。

請務必參閱下列兩項政策的參考資料:

建立更複雜的轉換

如果資料處理的複雜程度超出預定的政策,您可以使用 JavaScript、Java 或 Python 等程序語言。

一般來說,這項程序包含以上述其中一種語言編寫程式碼,然後從語言專屬的政策叫用程式碼。詳情請參閱「整合程序程式碼」。