gpt4 book ai didi

javascript - 如何在Restangular中添加多个Auth Interceptor?

转载 作者:行者123 更新时间:2023-12-03 05:58:32 29 4
gpt4 key购买 nike

应用程序开发语言:ionic + Restangular

我在 Restangular 中有一个用于 BaseUrl 和 Auth Interceptor 的全局配置。[就像 http://app 一样。 .**.com]

现在,我的要求是拥有不同的一组。[例如 http://yammer.com]

如何为这些设置不同的身份验证拦截器和 BaseURL?

目标:应用程序将有 2 个 BaseURL 和 AuthInterceptor。如果我调用 Yammer,应用程序将仅与为 Yammer 指定的 URL 进行通信,如果我调用任何其他 API,它将与全局配置进行通信。

最佳答案

您可以使用 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中的脚本顺序相同,第二个拦截器将在第一个请求之后获得编辑后的请求,因此您应该小心当您使用多个拦截器时...

关于javascript - 如何在Restangular中添加多个Auth Interceptor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39830380/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com