在我的API中,我有一个类似的属性:
<property expression="json-eval($.Entity.users.name)" name="uri.var.name"/>
我想使用Switch介体和Filter介体根据上述属性路由到不同的后端。
例如,如果属性可以具有4个不同的值:Nick,Tom,Jade,Dave
如果属性名称为Nick或Jade,它将指向后端1。
如果属性的名称为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中,我有一个类似以下属性:
您在此处为源使用了错误的表达。您正在正确读取名称,并使用JSONPath表达式将其保存到属性。请注意这里json-eval()