首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从请求体中提取变量

从请求体中提取变量
EN

Stack Overflow用户
提问于 2014-03-13 04:05:07
回答 4查看 3.3K关注 0票数 0

我想从请求的JSON主体中获取变量。目前,我在我的请求前流程中有这个提取变量的策略:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="true" enabled="true" name="extractvariables-grabrequestpayload">
<DisplayName>ExtractVariables-GrabRequestPayload</DisplayName>
<Source clearPayload="false">request</Source>
<FaultRules/>
<Properties/>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<JSONPayload>
    <Variable name="payload">
        <JSONPath>$</JSONPath>
    </Variable>
    <Variable name="method">
        <JSONPath>$.method</JSONPath>
    </Variable>
</JSONPayload>
<VariablePrefix>myprefix</VariablePrefix>

请求正文示例如下:

{ "method":“取消”,"params":{“分区”:“05”,"itemnumber":"1",“收件人编号”:"1","sku":"0JAX330000“}}

但是,我在trace中看不到变量,即使我可以看到上面的JSON正确地填充了content.request,并且策略正在执行。我看不到任何从请求正文中抓取它的引用,只有响应。这是不可能的吗?

EN

回答 4

Stack Overflow用户

发布于 2014-03-13 04:53:15

ExtractVariables策略不会通过UI显示变量。您可以使用JavaScript策略来调试代码并显示这些变量。此策略应在ExtractVariables策略之后执行。然后跟踪工具应显示变量。

代码语言:javascript
运行
复制
context.getVariable('myprefix.payload');
context.getVariable('myprefix.method');

您还可以设置另一个变量来查看实际值:

代码语言:javascript
运行
复制
context.setVariable('method-in-JavaScript', context.getVariable('myprefix.method') )
票数 1
EN

Stack Overflow用户

发布于 2014-03-13 09:40:57

以下是一些值得尝试的事情:

  1. 内容类型必须为application/json,以便apigee work路径提取可以正常工作,并下载

-

  1. 。在XML文件中查找<Point id="Execution"><Property name="stepDefinition-name">extractvariables-grabrequestpayload</Property>。这是您的提取变量策略执行步骤。在这里检查VariableAccess元素的Point id。如果设置了任何内容,它将在此处显示。比如<Set name="extractvariables-1.invoked" success="true" value="true"/>。这表明策略已成功执行,并且是否设置了任何变量。
  2. 也尝试使用$。‘’用于选择整个有效载荷。(两个单引号,内容为空。)
  3. 要确保提取了任何变量,可以在此之后在策略中使用该变量。这也应该打印出调试日志中的变量access。
票数 1
EN

Stack Overflow用户

发布于 2014-03-13 04:35:37

您是否在使用经典(较旧)版本的跟踪工具?你可能想尝试点击右上角的“尝试新的测试版跟踪”。如果使用它显示了您正在查找的变量,请让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22362622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档