如何在AngularJS Service中添加到$ resource的路由

时间:2014-11-07 17:02:53

标签: javascript angularjs node.js angular-services

我有这个服务,我想添加另一个URL来通信REST端点,例如我想使用服务器端DateTime实现更新我当前课程的lastAccessDateTime属性的更新。我可以使用此服务执行此操作,还是在其他服务中使用不同的路径定义(courses /:courseId / changedate)?

//Courses service used to communicate Courses REST endpoints
angular.module('courses').factory('Courses', ['$resource',
    function($resource) {
        return $resource('courses/:courseId',
            {
                courseId: '@_id'
            }, 
            {
                update: {
                    method: 'PUT'
                }
            }
        );
    }
]);

我感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:1)

您需要向资源添加操作:

angular.module('courses').factory('Courses', ['$resource',
    function($resource) {
        return $resource('', { courseId: '@_id' }, { 
            update: {
                method: 'PUT'
                url:'courses/:courseId' // this is a override url
            },
            updateWithDate: {
                method: 'PUT', 
                url:'ourses/:courseId/changedate' //override url
            }
        });
    }
]);

因为您要返回资源,所以可以使用Courses.update()和Courses.updateWithDate()