角度资源自定义网址

时间:2013-11-18 00:45:30

标签: angularjs resources

我正在尝试在角度资源上添加一个简单的方法,基本上就像这样:

/ API /资源/:ID /档案

如果我这样做:

angular.module('myApp')
.factory('api', function($resource) {
    var api = {
        messages: $resource('/api/messages/:id', {id: '@id'}
        , {
            archive: {
                method: 'PUT'
                , params: {id: '@id'}
                , url: '/api/messages/:id/archive'
            }
        }
    return api;
})
.controller('myCtrl', function(api) {
    // once I get messages and do stuff...
    $scope.archive = function(msg) {
        api.messages.archive({id: msg._id}, successHandler, failureHandler);
    }
});

它不起作用,我得到一个简单的PUT (*/api/messages/{id}*)。我尝试了另一个参数。

在工厂:

....
archive: {
    method: 'PUT'
    , params: {id: '@id', action: '@action'}
    , url: '/api/messages/:id/:action'
....

在控制器中:

api.messages.archive({id: msg._id, action: 'archive'} ...)

我将第二个参数作为查询参数,而不是作为网址的一部分。

1 个答案:

答案 0 :(得分:11)

好吧,在我输入问题之后,我看到我没有使用最新的角度。 Angular 1.2.0有此功能。