In Fusion version 3.0 and earlier, this pipeline stage was called the Query RPC Stage. RPC is the acronym for Remote Procedure Calls.
uri, queryParams, headers, and entity values support template expressions, such as <request.paramName> for a request parameter or <ctx.key> for a pipeline context value.
For example, to send the query text as the payload, set Request entity (as string) to <request.q>.
A multi-valued parameter returns all of its values, concatenated with no separator.
To use only the first value, use <first(request.paramName)>.
If a referenced parameter is missing from the request, the expression evaluates to an empty string.
If your stage configuration uses ${paramName}, migrate it to template expressions:
- In the
uri,queryParams,headers, andentityvalues, replace each${paramName}with<first(request.paramName)>. For example, change${q}to<first(request.q)>.<first(...)>keeps the legacy behavior of using only the first value of a multi-valued parameter. Query stages userequest, notdoc. If the deprecation warning suggests<doc.foo>, use<request.foo>instead. - Replace every
${...}reference in a value at the same time. If a value contains a${...}reference, the stage doesn’t evaluate template expressions in that value. - Check how the stage should handle missing parameters.
With
${paramName}, a missing parameter inuriskips the call, a missing parameter inqueryParamsorheadersomits that entry, and a missing parameter inentitybecomes an empty string. With template expressions, a missing parameter becomes an empty string and the call still runs. To skip requests that don’t have the parameter, set the stage Condition to an expression such asrequest.hasParam("q"). - Save the stage and confirm that the deprecation warning no longer appears in the logs.