所以说我有了标准的一个RESTful API GET
, POST
, PUT
和DELETE
它的方法,但我也有它是自定义的特定对象类型的其他方法,以及最重要的是我需要一个安全令牌。
所以此服务的URL可能看起来是这样:
GET / PUT / POST / DELETE http://sample.com/api/User/123?token=ABCDEF1234
和
GET http://sample.com/api/User/GetUsersByStatus?token=ABCDEF1234¶m1=blah¶m2=foo
要么
POST http://sample.com/api/User/DoSomethingCrazy?token=ABCDEF1234
其中最后两个做一些自定义的功能。 也许它的东西,重置密码,或者也许它的东西克隆一个用户和返回的记录,我不知道。 刚刚定制的“东西”。
什么是最好的实践方式与角度来处理呢? 我见过的$资源利用率,但它似乎仅是标准的REST方法,我不知道如何来扩展的方式下一角开发商就明白了。
如果我正确理解你,我相信你问的是如何使资源的方法自动包含您的令牌??? 如果这是正确的,那么你可以做这几种方法。 首先,你可以扩展预定义的资源的方法和烤在将应用于每个呼叫params中,你可以定义自己的方法。
此外,当你调用一个方法,如果参数尚未通过资格预审的,他们最终会在查询字符串。
下面是我写的一个CakePHP的实施示例代码。 我传递行动为每个预定义的方法和我自己的初始化方法。
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' } }
});
})
希望这可以帮助
--and
文章来源: AngularJS: How do I handle RESTful APIs with token security and custom methods?