【发布时间】:2014-10-17 04:51:25
【问题描述】:
对于具有多值查询参数的请求,例如:https://test.apigee.net?storeIds=abc&storeIds=xyz,有人如何设置提取变量策略,以便有一个 storeIds 数组,例如:storeIds=["abc","xyz"]?
更新#1: 在 javascript 中为 Apigee 使用以下内容:
var arrayOfStoreIds = [];
for (i = 0; i < context.proxyRequest.queryParams['storeIds'].length; i++) {
arrayOfStoreIds.push(context.proxyRequest.queryParams['storeIds'][i]);
}
产生错误:
`Execution of script failed with error:
Javascript runtime error:
"TypeError: Cannot find default value for object ... at line ##"`
引用的#行指向for循环的第一行
更新 #2:
-
http://apigee.com/docs/api-services/reference/javascript-object-model 的文档不正确:
context.proxyRequest.queryParams['city'].length; // == 2
-
https://github.com/ap-andrew/DevGuide/blob/master/javascript_new.html#L141 处的正确语法
context.proxyRequest.queryParams['city'].length(); // == 2
所以有了这个context.proxyRequest.queryParams['storeIds'].length() 就可以了!至少在javascript中......我仍然不知道如何通过提取变量策略来做到这一点......
【问题讨论】:
标签: apigee