WSO2 EI / ESB:使用正则表达式实现开关介体和过滤器介体

问题描述 投票:0回答:1

在我的API中,我有一个类似的属性:

<property expression="json-eval($.Entity.users.name)" name="uri.var.name"/>

我想使用Switch介体和F​​ilter介体根据上述属性路由到不同的后端。

例如,如果属性可以具有4个不同的值:Nick,Tom,Jade,Dave

  1. 如果属性名称为Nick或Jade,它将指向后端1。

  2. 如果属性的名称为Tom或Dave,它将指向后端2。

    <switch source="json-eval(uri.var.name)">
       <case regex="Nick|Jade">
          <send>
             <endpoint>
                <http method="get" uri-template="https://backend1.com" />
             </endpoint>
          </send>
       </case>
       <case regex="Tom|Dave">
          <send>
             <endpoint>
                <http method="get" uri-template="https://backend2.com" />
             </endpoint>
          </send>
       </case>
       <default />
    </switch>

这不起作用。定义Switch调解器中的源和正则表达式的正确方法是什么?

同样在过滤器介体中

在我的API中,我有一个类似以下属性:

wso2 wso2esb esb wso2ei ei
1个回答
0
投票

您在此处为源使用了错误的表达。您正在正确读取名称,并使用JSONPath表达式将其保存到属性。请注意这里json-eval()

© www.soinside.com 2019 - 2024. All rights reserved.