Extraction of identifier from uri path with a custom method

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.

0 1 66
1 REPLY 1

I think you must resort to a JavaScript policy for that kind of extraction.