2015-02-13 2 views
0

У меня есть restangular сервис, который я создаю, как так:Restangular службы GetList («яма») отправка параметры

(function() { 
    'use strict'; 

    angular 
     .module("myapp") 
     .factory('stats.api.service', StatsApi); 

    StatsApi.$inject = ['Restangular']; 

    function StatsApi(Restangular) { 
     return Restangular.service('stats'); 
    } 
}()); 

добавляет вводить этот завод в службу, как api и попытаться сделать звонки с него , Большинство из них работают, но никто этого не делает.

Например, этот вызов работает. (Где id является строка с идентификатором Я хочу

api.getList().then(function(data) { 
    console.log(data); 
}); 

выше вызова используется следующий URL:.. http://localhost/myapp/api/stats

Это является URL я ожидаю

Теперь, если я использую этот код :

api.getList('pit').then(function(data) { 
    console.log(data); 
}); 

Он называет http://localhost/myapp/api/stats?0=p&1=i&2=t

Теперь я, возможно, просто что-то пропустил, но он должен позвонить http://localhost/myapp/api/stats/pit, правильно?

Любые идеи относительно того, что я делаю неправильно, и как я могу это исправить?

EDIT:

Я понял, как назвать URL я хочу, но я все еще чувствую, что это не следует, что сказано в документации. Для того, чтобы позвонить http://localhost/myapp/api/stats/pit я должен использовать

api.one('pit').getList().then(function(data) { 
    console.log(data); 
}); 

ответ

0

Если вы посмотрите на описание метода в github repo of restangular вы увидите GetList коллекции занимает queryParams as first paramter.

GetList ([queryParams, заголовки]): снова получает сам (Помните, что это коллекция)

с другой стороны GetList элемента принимает subElement as first parameter.

getList (subElement, [queryParams, headers]): Получает вложенный ресурс. Субэлемент является обязательным. Это строка с именем вложенного ресурса (и URL). Например, здания

Лично я хотел использовать функцию Restangular, но во многих случаях это заставляло меня делать дополнительные работы на многих вещах. Мое предложение, чтобы использовать URL-адрес one() или all().

Смежные вопросы