Redirect 如何使用apigee将数据从一个api发送到另一个api
我最近开始使用apigee代理。请不要阻止我。 我正在使用邮递员将数据发布到代理中。 我已经分配了一个提取策略来从json数据中提取一些值,如 速度、纬度、经度等。 然后,我根据客户要求使用分配策略将速度转换为gpsspeed等。 之后,我使用javascript策略输出速度是否高于50,然后是高还是低。 我举了一个数据的例子。 现在我想将结果数据转发到另一个api。可能是apigee为测试目的提供的任何东西。我想查看结果api中的数据。 我使用服务调用策略将数据发送到另一个url。 我附上保险单Redirect 如何使用apigee将数据从一个api发送到另一个api,redirect,apigee,Redirect,Apigee,我最近开始使用apigee代理。请不要阻止我。 我正在使用邮递员将数据发布到代理中。 我已经分配了一个提取策略来从json数据中提取一些值,如 速度、纬度、经度等。 然后,我根据客户要求使用分配策略将速度转换为gpsspeed等。 之后,我使用javascript策略输出速度是否高于50,然后是高还是低。 我举了一个数据的例子。 现在我想将结果数据转发到另一个api。可能是apigee为测试目的提供的任何东西。我想查看结果api中的数据。 我使用服务调用策略将数据发送到另一个url。 我附上保险
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ServiceCallout-GeocodingRequest1">
<DisplayName>Inline request message</DisplayName>
<Request variable="callAnotherService">
<Set>
<Payload contentType="application/json">
{response.content} // reading data from javascript policy
</Payload>
</Set>
</Request>
<Response>CalloutResponse</Response>
<Timeout>30000</Timeout>
<HTTPTargetConnection>
<URL>http://httpbin.org/anything</URL>
</HTTPTargetConnection>
var content = context.getVariable("response.content") //read the response
content = JSON.parse(content); //parse into an object
if (content.speed > 50) { //apply the condition
content.speed = "high";
}
else {
content.speed = "low";
}
context.setVariable("response.content", JSON.stringify(content)); //set it
back on the response
有人能帮助我如何将数据转发到另一个api吗?我的过程正确吗?从java脚本策略提取变量的过程正确吗?请指导我。好的,如果您确定setVariable之后的值不是空的,请尝试下面的代码 注意:在JavaScript策略中,我在将值设置回变量名后更改了变量名(以免混淆) 并尝试此服务调用策略:
<Request clearPayload="true" variable="callAnotherService">
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Set>
<Payload variablePrefix="@" variableSuffix="#">@serviceCalloutRequest#</Payload>
<Verb>POST</Verb>
</Set>
</Request>
假的
@服务调用请求#
邮递
使用variablePrefix和variableSuffix引用您在javascript策略中分配的值,在这种情况下,我从“serviceCalloutRequest”中引用该值。您确定javascript策略中的对象“response.content”在将该值设置回itIts not empty后不为空。。
<Request clearPayload="true" variable="callAnotherService">
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Set>
<Payload variablePrefix="@" variableSuffix="#">@serviceCalloutRequest#</Payload>
<Verb>POST</Verb>
</Set>
</Request>