使用$ resource将相同参数多次传递给Rest服务

时间:2016-05-25 21:47:52

标签: angularjs rest parameter-passing ngresource

我正从AngularJS应用程序中使用这个Rest Web服务,并且我使用$ resource传递参数并获取我的数据。

我有一个特殊的服务,可以在我的Postman会话中多次使用相同的参数:

/myService/Accounts?acctId[]=7029&acctId[]=3324

我试图将生成的字符串传递给我的$ resource查询方法占位符,但它最终会转义我的所有括号而不能正常工作。

我也尝试过不使用占位符并且两次传递相同的参数,它不会失败,但它会取最后一个值,因此也不起作用。

    $scope.resultsColl = rfpService.searchAccountName.query({

      acctName: $scope.accountName,
      acctRole: acctRoleParams,
      acctRole: acctRoleParams2


    });

希望有人遇到同样的问题?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

从我在其他帖子上完成的研究看来,您无法使用$ resource动态生成。我的工作解决方案是切换到$ http,这样我就可以动态生成多个acctRole []参数:

  var acctRoleParams = '';

  if(corporate === true)
  {
    acctRoleParams = '&acctRole[]=C';
  };

  if(smallBiz === true)
  {
    acctRoleParams += '&acctRole[]=B';
  };

    $http.get("https://myRestServiceUrl/services/customer/accounts?acct=" + $scope.account + acctRoleParams)
      .success(function (data, status, headers, config) {
        $scope.gridOptions.data = data.data.detailsByAcct;
    })
      .error(function (data, status, headers, config) {
      showToast("An error occurred during the request");
    })
      .finally(function () {
        $scope.isGridLoading = false;
      });

我想发布这个以防万一其他人一直在努力做同样的事情。