Expression Filter in Mule

Expression Filter in Mule

Mule Filters are a handy way of analyzing the messages passing through our flow and determining whether they should be processed or not. Simply put, once a message reaches a filter component in the flow and meets the filter’s logical conditions, the message may pass through untouched. Otherwise, flow execution is terminated and no more processing is done. 
Expression filter filters payload on the basis of some expression.Here in our example i have given an expression that if name query parameter equals to himanshu then only it will allow to pass payload.

#[message.inboundProperties.'http.query.params'.name == 'himanshu']

flow of expression filter :

expression filter configuration :

URL  :  http://localhost:8085/api/expfilter

Input :

Output :

XML Project code :

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http=""
xmlns="" xmlns:doc=""
    <http:listener-config name="HTTP_Listener_Configuration" host="" port="8085" basePath="/api" doc:name="HTTP Listener Configuration"/>
 <flow name="testfiltersFlow1">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/expfilter" doc:name="HTTP"/>
        <expression-filter expression="#[message.inboundProperties.'http.query.params'.name == 'himanshu']" doc:name="Expression"/>