Description
Both the new Edge UI, and API calls to email addresses or usernames with + in the string return no results. It appears the character is being stripped out and replaced with a space.
Tests, where both username and email address are set to 'brandon+rt1@mydomain.com':
GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where username='brandon+rt1@mydomain.com'
GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where email='brandon+rt1@mydomain.com'
{ "action": "get", "params": { "ql": [ "select * where email='brandon rt1@mydomain.com'" ] }, "path": "/users", "uri": "https://apibaas-trial.apigee.net/org/app/users", "entities": [], "timestamp": 1488398745552, "duration": 40, "organization": "org", "applicationName": "global", "count": 0 }
I tried working around this by url-encoding the + character to %2b, but while the response shows the character correctly, there are still no results found:
"params": { "ql": [ "select * where email = 'brandon+rt1@mydomain.com'" ] },
There are two workarounds so far:
1. access the user entity directly through the / notation:
[baasurl]/users/brandon+rt1@mydomain.com
2. URLencode the '+' char manually in the UI to '%2b'. The ui then encodes this again into '%252b', and can then retrieve the correct entity