使用具有Restangular Object的基于路径的过滤器

时间:2015-09-28 15:56:14

标签: angularjs restangular

所以我有一个带有两个api调用的项目:

GET / certificates / pending - 返回所有待处理的证书 POST /证书//批准(或拒绝) - 批准证书。

我遇到的问题是,我不确定如何将/ pending添加到getList()命令,而不是添加到对象本身,因此Restangular尝试POST到/ certificates / pending //批准,这不是有效路径。

 angular.module( 'approvals', [
      'ui.router'
     ])

    .config(function config( $stateProvider, RestangularProvider ) {
  $stateProvider.state( 'system.approvals', {
    url: '/approvals',
        controller: 'ApprovalsCtrl',
        templateUrl: 'approvals/approvals.tpl.html',
    data:{ pageTitle: 'Approvals' },
    authenticate: true,
    resolve:{
      certificates: function(Certificates){
        return Certificates.all('pending').getList();
      }
    }
  });
})

.factory('Certificates', function(Restangular){
  return Restangular.service('certificates');
})
;`

1 个答案:

答案 0 :(得分:0)

这是我如何解决这个问题的。

angular.module( 'approvals', [
      'ui.router'
     ])

    .config(function config( $stateProvider, RestangularProvider ) {
  $stateProvider.state( 'system.approvals', {
    url: '/approvals',
        controller: 'ApprovalsCtrl',
        templateUrl: 'approvals/approvals.tpl.html',
    data:{ pageTitle: 'Approvals' },
    authenticate: true,
    resolve:{
      certificates: function(Certificates){
            return Restangular.allUrl('certificates', 'http://apiURL/certificates/pending').getList();
      }
    }
  });
})
;`

它不是最佳的,因为我现在必须在两个地方管理apiURL,但至少它可以工作。