Apache Camel使用spring DSL比较字符串与引号,如何逃脱?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Camel使用spring DSL比较字符串与引号,如何逃脱?相关的知识,希望对你有一定的参考价值。
如何比较身体内容匹配(equals
或startWith
)的值
{"status":"OK"}
怎么样?
<camel:choice>
<camel:when>
<simple>${in.body} == '{"status":"OK"}'</simple>
...
</camel:when>
</camel:choice>
我尝试:
'{"status":"OK"}'
'{x22statusx22:x22OKx22}'
'{"status":"OK"}'
'{"status":"OK"}'
...
我可以做这个:
<simple>${in.body} contains '{"status":"OK"'</simple>
但我需要equals
或startWith
作为规则运营商。 :(
我正在使用版本apache-camel-2.20.1
答案
Camel支持JsonPath,所以你应该更好地使用这个组件来比较json。
在pom中添加依赖项
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jsonpath</artifactId>
<version>x.x.x</version>
</dependency>
然后
<camel:choice>
<camel:when>
<jsonpath>$[?(@.status=='OK')]]</jsonpath>
...
</camel:when>
</camel:choice>
以上是关于Apache Camel使用spring DSL比较字符串与引号,如何逃脱?的主要内容,如果未能解决你的问题,请参考以下文章
如何在apache camel DSL或camel Processor内部设置其他身份验证属性?
如何在apache camel DSL中获得正确的https服务器响应?
Camel Java DSL:无法解析bean定义资源模式[META-INF / spring / * .xml]