When I send the below request url, Apigee truncates the ? from the url automatically and request passes through. Need to understand if this is expected behavior?
I have a validation mechanism which uses request.uri value to see if any ? is there and if it is there in uri then request will fail. Since Apigee truncates the ? automatically this logic never gets executed.
It appears if you do not attach query params after ? in the URL, Apigee default behavior is to truncate ? (if request is coming from browser / postman) and generates an error when using trace tool. Attached is the screenshot. screen-shot-2017-11-21-at-55607-pm.png
The ? character by itself cannot be treated as input. A more acceptable approach is to check for presence of any query parameter or add a query parameter that reflects your problem domain.