2014-09-11 39 views
0

我有我已经添加了说,一个条件的流程如何在其他情况下在apigee中添加条件流?

<Flow name="getuserdata"> 
    <Response> 
     <Step> 
      <FaultRules/> 
      <Name>GetUserData</Name> 
     </Step> 
    </Response> 
    <Condition>(proxy.pathsuffix MatchesPath &quot;/idm/user&quot;) and (request.verb = &quot;GET&quot;) and (request.header.stub = "true")</Condition> 
    <Request/> 
</Flow> 

所以这里发生了什么是当条件匹配true,它去给Javascript GetUserData,但我想要做的就是当条件假它应该去另一个服务呼叫流程命名为GetUserDataFromServer

我该怎么做?

回答

2

不幸的是没有“其他”结构可用。您需要添加与if条件完全相反的另一个条件。

这就带来两个挑战:

  1. 代码的可维护性。您需要有效维护两次。
  2. 执行期间每个条件进行评估(即在一个代替两次)

作为替代,如果你有“的if/else块”蟒内,JavaScript或Java标注政策此克服了两个挑战。

然而,大部分逻辑从XML代理文件中隐藏起来并进入支持资源文件。使程序员不易读。

1

如果你在最后添加一个没有条件的流 - 如果没有其他匹配,它将被执行。这就像default案例中的switch声明。

相关问题