在AngularJS中使用服务来连接API端点
Using service to interface API endpoints in AngularJS
为了在大规模应用程序中分离代码,我实现了一个有角度的样板。鉴于我对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;
}
}
restthttpcomponent的用法
restHttpComponent.request(postModel.endPoint('getPosts', {
dateFrom: currentDate
}));
有人能看到这样做的负面影响吗?
尝试将api端点替换为
"https://demo0079948.mockable.io/posts/{id}"
相关文章:
- 当没有互联网连接时,谷歌地图Java脚本API处理
- 推送器API:如何检查连接是否已建立
- 检查与谷歌地图API(中国防火长城)的连接
- CRUD api-连接前端和后端
- 有没有什么好的节点模块可以连接google shortener API来缩短长URL
- GoogleMaps API:如何将geoJSON属性与信息框中的静态文本连接起来
- 如何将 EmberJS 前端与 NodeJS Express API 连接
- 是否可以使用渠道 API 从另一个域连接到我的应用引擎
- 如何使用 accessdb API 关闭访问连接
- 如何使用 javascript 连接到带有 oAuth 1.0a 的 API?[棱角.js]
- Facebook API:检查用户是否在连接时登录
- 与 Youtube-api Javascript 不一致,连接速度慢
- SoundCloud Javascript API SC.连接错误
- fb.api 在连接的用户上返回“未定义”
- url重写与连接历史api回退
- Salesforce api会话已过期,如何自动重新连接
- Windows Live API连接问题
- LinkedIn API 连接问题
- 使用Angular连接到外部API
- 在AngularJS中使用服务来连接API端点