Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

using the AssignMessage policy to remove Query params vs Form Params

what is the difference between <QueryParams> and <FormParam>
I'm trying to remove a paramter from a request sent by developer apps. The url is - https://rohitreddykancharla9030-eval-test.apigee.net/assign-message-remove?
Now when I make a request from postman there we can select many params, auth, headers, body and so on. If I select PARAMS and in params add the key:value paris, policy is not removing the "foo" paramter from the request (url after adding key:value pairs = https://rohitreddykancharla9030-eval-test.apigee.net/assign-message-remove?hello=world&foo=bar) output is as follows "args": { "foo": "bar", "hello": "world" }, Like we can see foo paramter is not removed.
But if I send the post request from postman BODY "foo" parameter is removed output is as follows "args": {}, "data": "", "files": {}, "form": { "hello": "world" },

IF I use params in postman and <QueryParam> in the code "Foo" is removed and output is "args": {}, "data": "", "files": {}, "form": { "hello": "world" },

Question is what is difference between <QueryParams> and <FormParam>


CODE:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message-1</DisplayName>
    <Properties/>
    <Remove>
        <FormParams>
            <FormParam name="foo"/>
        </FormParams>
        <!--  <QueryParams>-->
        <!--    <QueryParam name="foo"/>-->
        <!--</QueryParams>-->
    </Remove>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

0 4 942
4 REPLIES 4