我正在使用Angular和ngResource,我有一个api url:
GET http://my.com/rest/items?inState=TRANSIENT&inState=FINAL
我怎么能用两个(不是uniq)params'inState'查询?
这是我的资源工厂:
.factory('Resource', function ($resource, REST_URL) {
return {
items: $resource(REST_URL + 'rest/items',
{},
{
get: {method: "GET", params: {inState: '@inState'}}
})
};
})
这就是我称之为的方式:
//GET http://my.com/rest/items?inState=TRANSIENT
Resource.items.get({inState: 'TRANSIENT'}, function (data) {
//...
}, function (responce) {
//...
});
这是有效的,但问题在于我如何发送params - 作为对象:{inState:'TRANSIENT'} 我不能写像
这样的东西{inState: 'TRANSIENT', inState: 'FINAL'}
因为字段必须是uniq
P.S。我知道可以用$ http来完成。
答案 0 :(得分:1)
如何做到这一点:
{inState: ['TRANSIENT', 'FINAL']
示例:
//GET http://my.com/rest/items?inState=TRANSIENT&inState=FINAL
Resource.items.getHistory({inState: ['TRANSIENT', 'FINAL']}, function (data) {
//...
}, function (responce) {
//...
});
答案 1 :(得分:0)
不确定您是否可以控制消耗参数的内容,但是如果您这样做,可以尝试将参数作为包含对象数组的对象传递,如下所示:
{ states : [{inState : 'TRANSIENT'}, {inState : 'FINAL'}]}
然后只需遍历states
数组并检查每个inState
属性。