Hi apigee community!
I'm working an API Proxy with a custom method: POST - /entities/{idEntity}:search
My "proxy.pathsuffix" is /entity/1-2BC3:search when request sent, I explored the use of extract variable policy with a pattern:
<ExtractVariables continueOnError="false" enabled="true" name="EV-SetUriRequestVariables">
<DisplayName>EV-SetUriRequestVariables</DisplayName>
<URIPath>
<Pattern ignoreCase="true">/entities/{idEntity}:search</Pattern>
</URIPath>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<Source clearPayload="false">request</Source>
<VariablePrefix>uriRequest</VariablePrefix>
</ExtractVariables>
And the use of "%" to scape ":" character:
<ExtractVariables continueOnError="false" enabled="true" name="EV-SetUriRequestVariables">
<DisplayName>EV-SetUriRequestVariables</DisplayName>
<URIPath>
<Pattern ignoreCase="true">/entities/{idEntity}%:search</Pattern>
</URIPath>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<Source clearPayload="false">request</Source>
<VariablePrefix>uriRequest</VariablePrefix>
</ExtractVariables>
But both options results in:
uriRequest.idEntity = 1-2BC3:search
Can you help me to know anything else to do with the pattern option or isn't possible to solve it, therefore I need to use a javascript policy ?
Best Regards.
I think you must resort to a JavaScript policy for that kind of extraction.