使用Angular $资源,如何使用未包含在有效负载中的URL参数发送PUT请求?

时间:2016-08-05 13:58:06

标签: angularjs

$ resource让我做恶梦。现在我的服务中有这样的东西:

makeCall: function(auth, data, new, old){
    return this.resource(auth).putRequest({id: data.id, thing1: new, thing2: old}).$promise
}

resource: function(auth){
    return(
    $resource(config.url, {id: '@id'}, {
        putRequest: {
            method: 'PUT',
            params: {thing1: '@thing1', thing2: '@thing2'},
            url: config.url + '/user/:id/update'
            headers: {authorization: auth}
        })
    );

这会根据请求向URL发送PUT请求,并正确设置id参数。但是,问题是当有效负载只需要由thing1和thing2组成时,id也会出现在有效负载中。

1 个答案:

答案 0 :(得分:1)

调用资源时,您可以指定urlParams和formBody Params,如此

resource(auth).putRequest({id: data.id}, {thing1: new, thing2: old}).$promise

第一个参数是urlParams,第二个是formBody,有关详细信息,请查看documentation