我在Backand中有应用程序,我正在构建,我正在尝试使用过滤器参数。使用$http
调用我的API时,我在http请求中获得406 error
。
这将是API调用,传递过滤器对象:
function getUserAttractions(userId) {
return $http({
method: 'GET',
url: Backand.getApiUrl() + '/1/objects/attractions',
params: {
sort: [{
"fieldName": "date",
"order": "asc"
}],
filter: [{
"fieldName": "user_id",
"operand": "contains",
"value": "1"
}]
}
});
}
答案 0 :(得分:3)
首先,您应该使用"运算符"而不是"操作数"。 如果user_id是对象字段,则过滤器应为:
filter: [{"fieldName":"user_id","operator":"in","value":"1"}]
在这里,您可以找到其他类型字段http://docs.backand.com/en/latest/apidocs/apidescription/index.html#rest-api-crud-operations
的其他文档免责声明:我为Backand工作
答案 1 :(得分:1)
对于HTTP状态406(不可接受),服务器抱怨它无法满足您的请求,可能是因为您的(缺少)Accept
标头。请参阅Wikipedia。
我不知道您的服务器应该发送什么,因此我假设它应该在响应中发送JSON。
尝试以下方法:
return $http({
method: 'GET',
url: Backand.getApiUrl() + '/1/objects/attractions',
headers: {
'Accept': 'application/json, */*'
},
params: {
sort: [{"fieldName":"date","order":"asc"}],
filter: [{"fieldName":"user_id","operand":"contains","value":"1"}]
}
});
有关详细信息,请参阅AngularJS Page。