2015-12-10 2 views
2

У меня есть RESTful API которого GET URL являютсяNgresource указать разные 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 
    }); 
}) 

Может ли кто-нибудь сказать мне, как я могу разделить два URL-адреса получателя, пытаясь проверить документы, но они, похоже, не работают.

ответ

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 docs здесь: https://code.angularjs.org/1.4.8/docs/api/ngResource/service/$resource

+0

Документы дают мне ошибку Nginx, будет пытаться вернуться – LeoG

+0

и нужно использовать полный URL, по какому-то причине так и не разобрать его хорошо: 'https://code.angularjs.org/1.4.8/документы/API/ngResource/услуги/$ resource' –