【问题标题】:How to Generate ngResource url with two parameters如何使用两个参数生成 ngResource url
【发布时间】:2017-04-05 14:38:38
【问题描述】:

我正在尝试在 angularjs 中使用 ngResource 生成此 url:

http://url_api/contact/58dc70f18e029b1338a97abc/address/58e3e3988e029a1aec5ad465

但是我得到了这个:

http://url_api/contact/58dc70f18e029b1338a97abc/address?address_id=58e3e3988e029a1aec5ad465

这是我的工厂

factory('Addresses', function($resource) {
  return $resource(url_base + 'contact/:id/address',{},{
       get: {
          method: 'GET', 
          isArray: true,
          url: url_base + 'contact/:id/address'
        },
        save:{
            method: 'POST'
        },
        delete:{
            method: 'DELETE',
            url: url_base + 'contact/:id/address/:addressId',
            // params:{
            //     id: '@_id',
            //     addressId: '@_addressId'
            // }
        }
    });
})

这就是我以后的称呼

Addresses.delete({id:$scope.id_contact,address_id:address_id_delete})

请问有人可以帮我吗?我很着急

【问题讨论】:

    标签: angularjs parameters ngresource


    【解决方案1】:

    您需要在您拥有的空对象中提及您的params。像这样:

    factory('Addresses', function($resource) {
       return $resource(url_base + 'contact/:id/address',{
           id: '@id',
           addressId: '@addressId' 
       },{
           get: {
              method: 'GET', 
              isArray: true,
              url: url_base + 'contact/:id/address'
            },
            save:{
                method: 'POST'
            },
            delete:{
                method: 'DELETE',
                url: url_base + 'contact/:id/address/:addressId',
                // params:{
                //     id: '@_id',
                //     addressId: '@_addressId'
                // }
            }
        });
    })
    

    【讨论】:

      【解决方案2】:

      url模板中的参数需要匹配调用中的参数:

          delete:{
              method: 'DELETE',
              url: url_base + 'contact/:id/address/:addressId',
              // params:{
              //     id: '@_id',
              //     addressId: '@_addressId'
              // }
          }
      
      //WRONG address_id
      //Addresses.delete({id:$scope.id_contact,address_id:address_id_delete})
      
      //RIGHT addressId
      Addresses.delete({id:$scope.id_contact,addressId:address_id_delete})
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-15
        • 2018-02-11
        • 2017-04-21
        • 2013-12-25
        • 2017-06-05
        • 2021-07-15
        • 2017-11-29
        相关资源
        最近更新 更多