设置消息格式、访问消息和转换消息

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

您可以使用 Apigee Edge 附带的政策来操纵经过 API 代理的消息。通过政策,您可以执行以下操作:

  • 在各个格式之间转换消息,例如从 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/>

处理变量数据

代理内的数据处理通常仅涉及作为流变量值处理状态数据。通常,您可以使用用于获取或设置变量值的政策来实现此目的。例如,您可能需要将变量值塑造成消息,或提取消息的内容以设置变量值。

务必查看以下两个政策的引用:

创建更复杂的转换

对于复杂性超出所包含政策的功能的数据处理,您可以使用程序化语言,例如 JavaScript、Java 或 Python。

通常,这涉及采用其中一种语言编写代码,然后从该特定语言的政策中调用代码。如需了解详情,请参阅合并程序化代码