在Angular中使用$ resource

时间:2013-10-18 19:25:12

标签: angularjs

我有一个服务,我打电话来获得一个工作正常的集合。这是服务:

angular.module('clinicalApp').factory('encounterService', function ($resource, $rootScope) {
  var EncounterService = $resource('http://localhost:port/v2/encounters/:encounterId', {encounterId:'@id', port: ':8280'}, {
    search: {
      method: 'GET',
      headers: {
        'User': 'testuser',
        'Content-Type': 'application/json'
      }
    },
    save: {
      headers: {
        'User': 'testuser',
        'Content-Type': 'application/json'
      }
    }
  });

  return EncounterService;
});

正如我所说,我能够获得该集合,但是当我尝试更新我的集合中的一个元素时,它正在调用错误的URL。以下是我尝试保存资源的方法:

encounterService.save({
  id: scope.encounter.id
});

这是被击中的网址:

http://localhost:8280/v2/encounters?id=12345

所以它会将url附加为搜索参数。我如何让它将id附加到网址,如

encounters/12345

应该如何?

1 个答案:

答案 0 :(得分:0)

试试这个......

 {encounterId:'@id', port: ':8280'}

更改为:

 {encounterId:'@encounterId', port: ':8280'}

 encounterService.save({
     id: scope.encounter.id
 });

更改为:

 encounterService.save({
     encounterId: scope.encounter.id
 });