【问题标题】:Ngresource specify different URL's get all and get oneNgresource 指定不同的 URL 获取所有并获取一个
【发布时间】:2023-03-16 12:52:03
【问题描述】:

我有一个 RESTFUL API,其 GET URL 是

对于所有人:/customers.json

单身:/customers/1.json

angular.module('myApp.services', []).factory('Customer', function($resource) {
  return $resource('api/v1/customers/:id.json', { id:'@customers.id' }, {
    update: {
      method: 'PATCH',



    }
    }, {
    stripTrailingSlashes: false
    });
})

谁能告诉我如何将两个 get 调用 URL 分开,尝试检查文档,但它们似乎已关闭。

【问题讨论】:

    标签: javascript angularjs json ngresource


    【解决方案1】:

    query 用于收集,get 用于对象,如下所示:

    angular.module('app', ['ngResource'])
    
    .service('Customer', function($resource){
        return $resource('api/v1/customers/:id.json');
     })
    
    .controller('ctrl', function(Customer){
        Customer.query().$promise.then(function success(result){
            console.log(result);
        }, function fail(reason){
            console.log(reason);
        }); 
    
        Customer.get({id: 1}).$promise.then(function success(result){
            console.log(result);
        }, function fail(reason){
            console.log(reason);
        });
    })
    
    ;
    

    你也可以指定一个方法是否为数组,查看默认的$resource方法:

    { 'get':    {method:'GET'},
      'save':   {method:'POST'},
      'query':  {method:'GET', isArray:true},
      'remove': {method:'DELETE'},
      'delete': {method:'DELETE'} };
    

    您可以在这里查看: http://jsbin.com/cesifo/3/edit?html,js,output

    和 $resource 文档在这里: https://code.angularjs.org/1.4.8/docs/api/ngResource/service/$resource

    【讨论】:

    • 你需要使用完整的 url,由于某种原因没有很好地解析它:https://code.angularjs.org/1.4.8/docs/api/ngResource/service/$resource
    猜你喜欢
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2020-01-27
    • 2023-03-10
    • 1970-01-01
    • 2012-08-20
    • 2019-10-11
    • 2022-10-08
    相关资源
    最近更新 更多