本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
您可以使用 Apigee 附带的政策来操纵经过 API 代理的消息。通过政策,您可以执行以下操作:
- 在各个格式之间转换消息,例如从 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>
处理变量数据
代理内的数据处理通常仅涉及作为流变量值处理状态数据。通常,您可以使用用于获取或设置变量值的政策来实现此目的。例如,您可能需要将变量值塑造成消息,或提取消息的内容以设置变量值。
务必查看以下两个政策的引用:
- AssignMessage 政策,用于利用变量值创建消息。
- ExtractVariables 政策,用于从消息内容分配变量。
创建更复杂的转换
对于复杂性超出所包含政策的功能的数据处理,您可以使用程序化语言,例如 JavaScript、Java 或 Python。
通常,这涉及采用其中一种语言编写代码,然后从该特定语言的政策中调用代码。如需了解详情,请参阅合并程序化代码。