OIC中拼接REST API URL时出现多余字符的问题求助
OIC中拼接REST API URL时出现多余字符的问题求助
嗨,我来帮你梳理下这个问题~
你看到的%3D其实不是多余的%3哦,它是等于号=的URL编码结果,不过你的请求确实出现了两个不符合预期的地方:
- 原本的小写查询参数名
q变成了大写Q - 你原本写的
PersonNumber='4'里的单引号消失了,变成了PersonNumber%3D4
这本质是OIC对URL参数的编码处理和手动拼接方式冲突导致的,给你几个具体的解决建议:
- 优先使用OIC自带的查询参数配置:别直接把查询参数拼进URL字符串里,在创建REST连接或者调用动作时,找到「查询参数」的配置项,单独添加参数名
q,参数值填PersonNumber='4'。这样OIC会自动帮你处理正确的编码逻辑,不会出现乱转义的情况。 - 如果必须手动拼接,用编码函数处理:要是你得用
concat函数来拼URL,记得用OIC的encodeURIComponent()对参数值做编码处理,示例代码如下:concat('https://abc.oracle.ocs.oraclecloud.com:443/hcmRestApi/resources/11.13.18.05/workers?q=', encodeURIComponent("PersonNumber='4'")) - 检查参数名的大小写:确认下你在配置或者拼接的时候有没有不小心把小写的
q写成了大写Q,这个小细节也可能导致请求不符合预期。
另外补充下:URL里的特殊字符(比如=、')本来就需要编码后才能正常传输,正确的编码是符合HTTP规范的,但手动拼接容易让OIC的自动编码逻辑混乱,所以优先用官方的参数配置方式更稳妥。
备注:内容来源于stack exchange,提问作者Tech_Girl7819
相关产品推荐
相关产品推荐

