如何在AgularJS服务中添加到$resource的路由

How to add a route to $resource in AgularJS Service

本文关键字:resource 路由 添加 AgularJS 服务      更新时间:2023-09-26

我有这个服务,我想添加另一个URL来通信REST端点,例如,我想使用服务器端DateTime实现一个更新,以更改我当前课程的lastAccessDateTime属性。我可以使用这项服务吗?或者我必须在另一项服务中使用不同的路线定义(课程/:课程Id/变更日期)?

//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'
                }
            }
        );
    }
]);

我感谢您的帮助,感谢

您需要向资源添加操作:

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.uupdateWithDate()