我正在编写一个AngularJS模块,以便为与我的产品的REST API交互提供一些便利。由于我的产品是在内部部署的,因此每个用户都必须提供自己的URL以与API进行交互。因此,基本URL需要是可配置的。
我一直在研究$http
设置默认标头的方法,以找出如何为配置这些属性制作一个漂亮的API,但运气不好。我想要实现的是这样的:
在我的api.js
文件中:
angular.module('myProduct', [])
properties.baseUrl = 'someDefault';
properties.authenticationToken;
authenticate = function(user, pass) {
properties.authenticationToken = $http.get(properties.baseUrl + '/login');
}
在客户的app.js
文件中:
angular.controller('myController', ['myProduct'], function($myProduct) {
// during initialization
$myProduct.properties.baseUrl = 'customer.com/myProduct';
// either during initialization, or after submitting a login form
$myProduct.authenticate('username', 'password')
.then(/* do some other API call */);
})
我的问题是:
我可能也会感谢任何我可能错过的Angular文档的链接。
答案 0 :(得分:1)
一种角度方式是使用提供程序进行模块配置。
这里有2个小提琴,1个用于使用defaultUrl和其他用于从客户端更改它。
[http://jsfiddle.net/r057c9o5/3/][3]
[http://jsfiddle.net/t5uf9jau/][4]