开发的应用程序:ionic + Restangular
我在Restangular for BaseUrl和Auth Interceptor中有一个全局配置。[比如http://app。**。com]
现在,我的要求就是拥有不同的一组。[比如http://yammer.com]
如何为这些设置不同的Auth Interceptor和BaseURL?
目标:应用程序将具有2个BaseURL和AuthInterceptor。 如果我打电话给Yammer,应用程序将只与Yammer的URL一起通信,如果我调用任何其他API,它将与全局配置通信。
答案 0 :(得分:1)
你可以使用 addRequestInterceptor 添加任意数量的拦截器,并将你的逻辑放到每个拦截器上。
在你的情况下你可以有一个或两个拦截器,它可以检查baseurl并改变标题......
RestangularProvider.addFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) {
if (url.startsWith('your.base.url2')) {
// change headers or do whatever you want
}
return {
element: element,
params: params,
headers: headers,
httpConfig: httpConfig
};
});
RestangularProvider.addFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) {
if (url.startsWith('your.base.url')) {
// change headers or do whatever you want
}
return {
element: element,
params: params,
headers: headers,
httpConfig: httpConfig
};
});
注意:此拦截器将在任何请求时触发,它们的顺序与index.html上的脚本顺序相同,第二个将在第一个之后获得编辑请求,因此您应该小心当你使用多个拦截器......