在我的 API 中,我有一个类似的属性:
<property expression="json-eval($.Entity.users.name)" name="uri.var.name"/>
我想使用Switch mediator 和Filter mediator 根据上述属性路由到不同的后端。
例如,如果属性可以有 4 个不同的值:Nick、Tom、Jade、Dave
如果该属性的名称为 Nick 或 Jade,它将指向 back-end-1。
如果该属性的名称为 Tom 或 Dave,它将指向 back-end-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 mediator中定义 Source 和 Regex 的正确方法是什么?
同样在Filter mediator中也一样!