我怎么知道json主体是否包含内容?

时间:2019-11-06 10:15:54

标签: wso2 wso2esb wso2ei

如果主体是否具有主体,我有一个过滤器来执行一些代码,因为复合介体无法处理空主体,但是我不知道该表达式

我尝试了boolean($ body)但不起作用

<filter regex="default_regex" source="boolean($body)">
<then>
    <enrich>
       <source clone="true" type="body"/>
       <target property="payload" type="property"/>
    </enrich>
 </then>
 <else>
    <log level="full"/>
 </else>

1 个答案:

答案 0 :(得分:0)

您能否将正则表达式更新为true并尝试一下。

<filter regex="true" source="boolean($body)">
<then>
    <enrich>
       <source clone="true" type="body"/>
       <target property="payload" type="property"/>
    </enrich>
 </then>
 <else>
    <log level="full"/>
 </else>

如果未获取json有效负载,请尝试将其分配给属性并进行过滤。

<property name="JsonBody" expression="json-eval($.)/>
<filter regex="true" source="boolean($ctx:JsonBody)">
<then>
    <enrich>
       <source clone="true" type="body"/>
       <target property="payload" type="property"/>
    </enrich>
 </then>
 <else>
    <log level="full"/>
 </else>

谢谢