一、封装服务 angular.module('App.services') .factory('ResourceFactory', function ($resource, ApiConfig) {
一、封装服务
angular.module('App.services') .factory('ResourceFactory', function ($resource, ApiConfig) { var API_HOST = ApiConfig.API_HOST; var Message = $resource(API_HOST + '/message/:action/:id', { action: '@action', id: '@id' }, { "update":{method: 'PUT'} } ); return { Message: Message, }});
二、使用接口
1.get方式获取数据
// ======get方式======== function getMessageList() { var urlParam = { action: 'categories', id: pageId, page: message.page, page_no: message.pageno }; ResourceFactory.Message.get(urlParam).$promise.then( //成功回调 function (indata) { console.log('接口返回成功'+ angular.toJson($scope.data.messageList)); }, //失败回调 function (rejection) { console.log('接口返回失败,失败数据' + angular.toJson(rejection)); }).finally(function () { });
2. 其他方式(post, put, delete)获取接口数据---分别对应使用方法(save, update, delete)
//======post方式===== var message = new ResourceFatory.Message(); message.channelsIds = channelsIds; message.$save().then(function (indata) { //反馈信息成功 console.log('接口测成功' + angular.toJson(indata)); }, function (rejection) { //反馈信息失败 console.log('反馈失败信息' + angular.toJson(rejection)); });
三、备注
1. 未实例化时直接调用方法名:ResourceFactory.Message.get()
2.实例化后使用时在方法名前加$
var message = new ResourceFatory.Message();
message.$save()
3. $resource服务中自带有get, post, delete的方法,对于put方式需要自定义一个update方法
4. 发送数据的方式有get, post, put, delete---分别对应使用方法名(get, save, update, delete)