在大规模应用程序中分离代码的斗争中,我实现了一个角度样板。看来我和Angular一样没有和其他Javascript框架一样的经验,我想对这个方法有一些输入。
使用端点时,事情会变得非常混乱,代码开始重复使用AngularJs的ESP。在其他人的项目上工作,我厌倦了......
$http({
method: 'GET',
url: '/posts'
}).then(function successCallback(response) {
// code
}, function errorCallback(response) {
// code
});
因此,我构建了一个基本上与http组件接口的组件,但是应用了我们当前的restful标准(正确处理http状态),范围,本地存储等,并结合了为严格描述端点和端点的端点接口实现服务的方法。他们将如何适应应用程序。
angular.module('Ripple').service('postModel', [function() {
'use strict';
return {
/**
* Rest Endpoint interface
* @type {Object}
*/
_rest: {
getPosts: {
url: 'http://localhost:3000/posts',
method: 'GET',
scopeUpdate: 'posts',
localStorage: false,
params: {
// Endpoint params
}
},
getPost: {
url: 'http://jsonplaceholder.typicode.com/posts/',
method: 'GET',
scopeUpdate: 'post',
localStorage: false,
pagination: false,
params: {
id: 1
}
},
getError: {
url: 'https://demo0079948.mockable.io/posts',
method: 'GET',
scopeUpdate: 'post',
localStorage: false,
pagination: false,
params: {
// none
}
},
},
/**
* Returns rest objects and allows to extend the params property
* @param {string} method
* @param {object} options
* @return {object}
*/
endPoint: function(endPointMethod, options) {
var defaults = this._rest[endPointMethod];
$.extend(defaults.params, options);
return defaults;
}
}
用于restHttpComponent
restHttpComponent.request(postModel.endPoint('getPosts', {
dateFrom: currentDate
}));
任何人都可以看到这样的负面消息吗?