使用$ resource在Angular中创建自定义路由

时间:2016-07-21 23:01:02

标签: angularjs

编辑:我应该至少在一点上更清楚:我想使用我现有的服务进行以下操作。这可能是不可能的,但是像

这样的东西
return $resource(CONSTANTS.API + 'computer/:id/:action'...

seemed plausible,其中:action可以是可选的ping

回到最初的问题......

所以,我有一个响应这条路线的外部api:

localhost/api/computers/:id/ping

现在我想创建一个可以向该路由发送请求的角度服务。我现有的服务如下:

(function() {
    'use strict';
    angular
        .module('computer')
        .factory('ComputerService', ComputerResource);

    ComputerResource.$inject = ['$resource', 'CONSTANTS'];

    function ComputerResource ($resource, CONSTANTS) {
        return $resource(CONSTANTS.API + 'computer/:id',
            {id: '@id'},
            {
                'update': {
                    method:'PUT'
                }
            }
        );
    };
})();

我希望能够使用我的理论$resource这样的东西:

ComputerService.ping({id: $stateParams.id})
    .$promise.then(function (data) {
        ...
    });

我想我需要以某种方式将ping添加到$resource然后......我不知道。

任何帮助?

1 个答案:

答案 0 :(得分:0)

应该可以正常地将/ping附加到您的网址字符串

function ComputerResource ($resource, CONSTANTS) {
        return $resource(CONSTANTS.API + 'computer/:id/ping',
            {id: '@id'},
            {
                'update': {
                    method:'PUT'
                }
            }
        );
    };