2016-10-03 6 views
0

アプリケーションで開発された:私はBASEURLと認証インターセプタのためRestangular内の1つのグローバル・コンフィギュレーションを抱えていたイオン+ Restangular複数のAuthインターセプタをRestangularに追加するにはどうすればよいですか?

[。。同様http://appのための** COM]は

、私の要件が異なるセットを持っていることです[のような] http://yammer.com]

これらのために異なる認証インターセプタとBaseURLを設定するにはどうすればよいですか?

目標:アプリケーションには2 BaseURLとAuthInterceptorがあります。 Yammerを呼び出すと、アプリケーションはYammer用のURLとしか通信せず、他のAPIを呼び出すと、グローバル設定と通信します。

+0

http://stackoverflow.com/questions/22274975/is-it 2つのAPIアクセスポイントのためのベースプレートを使用できる矩形のベースプレート/ 22276211#22276211 –

+0

@Poyra zYilmaz情報をありがとう... AuthInterceptorはどうですか?さまざまなシナリオでヘッダーを送信するにはどうすればよいですか? – Anand

+0

あなたはif条件でbaseurlをチェックし、異なるurlに対して別のアクションをとることができます... –

答えて

1

addRequestInterceptorを使用して、必要な数のインターセプタを追加して、各インターセプタにロジックを割り当てることができます。

あなたがBASEURLと変更ヘッダを確認することができる1つのまたは2インターセプタを持つことができますあなたの場合は

...

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でのスクリプトの順序と2番目のものは、最初のものの後に編集された要求を取得するので、複数のインターセプタを使用しているときは注意する必要があります...

+0

ありがとうPoyraz :) – Anand

関連する問題