我需要连接的API是使用oData;我需要在发送请求之前格式化请求参数。
所以我发现我可以使用函数作为参数,不确定它是最好的方法... 我需要访问其他参数值才能构建我的查询。我可以这样做吗?
在下面的示例中,目标是获取如下查询:
值:
预期结果:
?$filter=contains(Username, 'john') or contains(Email, 'john')
代码:
return $resource(oDataURL, {}, {
search: {
method: 'GET',
isArray: true,
params: {
fields: '',
value: '',
searchString: function () {
var s = '';
// Here! Needs to access params.fields
_.map(params.fields, function (f, k) {
if (k == fields.length - 1) {
s += ' or ';
}
return s += 'contains(:' + f + ', \':' + value + '\')';
});
}
},
url: oDataURL + '?$filter=:searchString'
},