本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
Apigee 政策可以转换消息格式、强制执行访问权限控制、调用远程服务、授权用户、检查消息内容是否存在潜在威胁以及执行更多其他操作。如需了解详情,请参阅什么是政策?
代理和目标端点定义请求和响应消息处理的流水线,这些流水线称为请求和响应流。流是 API 请求处理路径上的顺序阶段。政策附加到请求和响应消息流中的不同位置,成为处理步骤。
在下面的步骤中,您将创建一个新政策并将其附加到 API 代理的 PreFlow
响应流中,以确保在任何其他处理发生之前应用该政策。本教程中使用的 XMLtoJSON 政策会将 API 响应消息的载荷从 XML 转换为 JSON。
- 创建 XMLtoJSON 政策。
- 展开 helloworld API 代理软件包,将光标放在 policies 文件夹上,然后点击 。
系统会打开创建政策向导。
- 选择 Mediation 作为政策类别。
- 选择 XML to JSON 作为政策类型。
- 输入 XMLtoJSON 作为政策名称,然后按 Enter 键。
该政策会添加到 API 代理的
/policies
文件夹中,并在编辑器中打开。 - 点击
XMLtoJSON.xml
以修改政策。将<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>
- 展开 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>
- 将所做的更改保存到文件。
- 如需重新部署环境,请将光标放在 dev 环境文件夹上,然后点击 。
- 当系统提示您选择要导出的测试软件包时,请点击在不使用测试软件包的情况下部署,因为测试软件包已导出。
- 在 Terminal 标签页中调用 API。
curl 0: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