本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
政策可以转换消息格式、强制执行访问权限控制、调用远程服务、授权用户、检查消息内容是否存在潜在威胁以及执行更多其他操作。如需了解详情,请参阅什么是政策?
代理和目标端点定义请求和响应消息处理的流水线,这些流水线称为请求和响应流。流是 API 请求处理路径上的顺序阶段。政策附加到请求和响应消息流中的不同位置,成为处理步骤。
在下面的步骤中,您将创建一个新政策并将其附加到 API 代理的 PreFlow
响应流中,以确保在任何其他处理发生之前应用该政策。本教程中使用的 XMLtoJSON 政策会将 API 响应消息的载荷从 XML 转换为 JSON。
- 创建 XMLtoJSON 政策。
- 在 Apigee 部分中展开 helloworld API 代理软件包,将光标放在 policies 文件夹上,然后点击 。
此时 Create policy 向导会打开。
- 选择 Mediation 作为政策类别。
- 选择 XML to JSON 作为政策类型。
- 输入 XMLtoJSON 作为政策名称,然后按 Enter 键
该政策会添加到 Apigee 部分中 API 代理的
/policies
文件夹中,并在编辑器中打开。 - 修改政策,将
<OutputVariable>
和<Source>
元素设置为response
。<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLtoJSON"> <DisplayName>XMLtoJSON</DisplayName> <Properties/> <Format>yahoo</Format> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
- 在 Apigee 部分中展开 helloworld API 代理软件包,将光标放在 policies 文件夹上,然后点击 。
- 将政策附加到默认代理端点。
- 展开 helloworld API 代理软件包中的 proxies 文件夹,然后点击 default.xml 以在编辑器中打开文件。
- 在 API 代理 <PreFlow> <Response> 流中添加一个引用 XMLtoJSON 政策的 <Step> 元素,如下所示。
<ProxyEndpoint name="default"> <PreFlow name="PreFlow"> <Request> <Step> <Name>verify-api-key</Name> </Step> <Step> <Name>remove-query-param-apikey</Name> </Step> <Step> <Name>impose-quota</Name> </Step> </Request> <Response> <Step> <Name>XMLtoJSON</Name> </Step> </Response> </PreFlow> ... </ProxyEndpoint>
- 如需重新部署环境,请将光标放在 Apigee 部分中的 dev 环境文件夹上,然后点击 。
- 当系统提示您选择要导出的测试软件包时,请点击在不使用测试软件包的情况下部署,因为测试软件包已导出。
- 在 Terminal 标签页中调用 API。
curl localhost:8998/helloworld?apikey=ZQA5euYtNeJ7ZCGCJMpvd6F2BZOmxOzY
XML 响应将转换为 JSON,如下所示:
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
恭喜!您已成功将 XMLtoJSON 政策附加到 API 代理!
接下来,您将把 API 作为归档部署到 Apigee 环境,以进行集成测试和生产环境发布。
1 2 3 4 5 6 (下一步)第 7 步:部署到 Apigee 环境 8