sample API call below ,
Http Method : GET
https://sampledomain.com/api?bucket=abc&table=xyz&filters=uuid::12367d-ae0b-44b5-9813-zxzxzx6c00000,anotheruuid::324,date::2022-04-01|2022-04-06,uuid3::1BABFPDT
Here in the API request, query parameter filters is having comma(,) separated key::value pairs (::).
In postman the API call works fine but in Jmeter it errors out with 400 error.
We tried adding query params by directly giving it as path url and also by adding params value . enabled and disabled url encode.
In the request header we are seeing %3A in place of :.
Below is the sample request that is sent using jmeter.
https://sampledomain.com/api?bucket=abc&table=xyz&filters=uuid%3A%3A12367d-ae0b-44b5-9813-zxzxzx6c00000%2Canotheruuid%3A%3A324%2Cdate%3A%3A2022-04-01%7C2022-04-06%2Cuuid3%3A%3A1BABFPDT
How to send the query parameter values which contains :: ?
Tick "URL Encode" box for the
filtersparameter in the HTTP Request and that would be it:Going forward if you're uncertain regarding how to properly build this or that request you can just record it using JMeter's HTTP(S) Test Script Recorder or JMeter Chrome Extension