Javascript AngularJS:如何使用令牌安全性和自定义方法处理RESTful API?

Javascript AngularJS:如何使用令牌安全性和自定义方法处理RESTful API?,javascript,angularjs,rest,Javascript,Angularjs,Rest,因此,假设我有一个RESTFul API,它有标准的GET、POST、PUT和DELETE方法,但我也有其他方法,这些方法是针对特定对象类型定制的,除此之外,我还需要一个安全令牌 因此,此服务的URL可能如下所示: GET/PUT/POST/DELETE 及 得到 或 发布 其中最后两个执行一些自定义功能。也许是重置密码,或者是克隆用户并返回记录,我不知道。只是定制“东西” 使用Angular解决此问题的最佳实践方法是什么?我见过$resource实用程序,但它似乎只适用于标准的REST方法,我

因此,假设我有一个RESTFul API,它有标准的
GET
POST
PUT
DELETE
方法,但我也有其他方法,这些方法是针对特定对象类型定制的,除此之外,我还需要一个安全令牌

因此,此服务的URL可能如下所示:

GET/PUT/POST/DELETE

得到

发布

其中最后两个执行一些自定义功能。也许是重置密码,或者是克隆用户并返回记录,我不知道。只是定制“东西”


使用Angular解决此问题的最佳实践方法是什么?我见过$resource实用程序,但它似乎只适用于标准的REST方法,我不知道如何以下一个Angular开发人员能够理解的方式扩展它。

如果我理解正确,我相信您要问的是如何使资源方法自动包含您的令牌???如果这是正确的,那么您可以通过几种方法来实现。首先,您可以扩展预定义的资源方法并烘焙将应用于每个调用的参数,或者您可以定义自己的方法

另外,当您调用一个方法时,如果参数没有被预先限定,那么它们将在querystring上结束

下面是我为cakephp实现编写的示例代码。我正在为每个预定义方法和我自己的initialize方法传递操作


angular.module('myApp.cakephp.services', ['ngResource']).
  factory('CommentSvc', function ($resource) {
        return $resource('/cakephp/demo_comments/:action/:id/:page/:limit:format', { id:'@id', 'page' : '@page', 'limit': '@limit' }, {
          'initialize' : { method: 'GET', params: { action : 'initialize', format: '.json' }, isArray : true },
          'save': { method: 'POST', params: { action: 'create', format: '.json' } },
          'query' : { method: 'GET', params: { action : 'read', format: '.json' } , isArray : true },
          'update': { method: 'PUT', params: { action: 'update', format: '.json' } },
          'remove': { method: 'DELETE', params: { action: 'delete', format: '.json' } } 
        });
  })
希望这有帮助


--dan

很有趣,所以就我而言,我需要这样设置我的参数。嗯,我想我还没弄明白你能做到这一点,我正准备用$http推出我自己的。谢谢。很高兴我能帮上忙,再给医生看一眼。资源为您做了这么多,值得一看。