Sergii Getman
Sergii Getman

Reputation: 4371

apache camel spring dsl check if body contains string

I am trying to check :

<simple>${body} contains 'verification'</simple>

Body is the json:

{"verification": {"email": "[email protected]", "code": "1234"}}

But this condition doesn't work. I've tried as well:

<simple>${body} contains &#39;verification&#39;</simple>
<simple>${bodyAs(String)} contains 'verification'</simple>
<simple>${body.verification} != null</simple>

Could you please suggest me something?

Upvotes: 4

Views: 12803

Answers (2)

Sergii Getman
Sergii Getman

Reputation: 4371

Actually this case:

<simple>${bodyAs(String)} contains 'verification'</simple>

didn't work cause: In Camel the message body can be of any types. Some types are safely readable multiple times, and therefore do not 'suffer' from becoming 'empty'.

It fixes by Stream caching

Upvotes: 2

Claus Ibsen
Claus Ibsen

Reputation: 55525

I guess the body is maybe not a String, then try with

<simple>${bodyAs(String)} contains 'verification'</simple>

And btw what version of Camel do you use?

Upvotes: 5

Related Questions