2016-06-12 13 views
0

私はいくつかの "リポジトリ"を作成し、そのリポジトリのすべての要求にベースURLを追加したいと思います。

angular.module('user', []) 
    .service('User', function ($http) { 
     // SOMETHING LIKE THIS 
     $http.setBaseUrl('/api/v1/users'); 

     this.index = function() { 
      // CALL TO api/v1/users/ 

      return $http('/'); 
     } 

}); 

私は$ httpProviderがある知っていると私はそこにインターセプタを追加することができますが、それはすべての要求に追加されますし、それは私が望んでいません。

どうすればよいですか?

+0

は本当に – charlietfl

+0

読んで提案する[尋ねる] – charlietfl

+0

私は希望あなたの問題をよく説明していませんインスタンス上でbaseUrlを定義する$ resourceのようなことをするために、そのインスタンスからのすべてのリクエストにはbaseUrlが定義されているので、すべてのクエリにbaseUrlを追加する必要はありません。 – Luddinus

答えて

1

さまざまなベースURL文字列を保持するconstant.jsサービスファイルを作成し、$ http呼び出しを行う必要があるときはいつでも、その特定のベースURLを呼び出すことができます。 constants.jsファイルは次のようになり

$http.post(constants.usersURL + "/", data, function(res) { 
    ... //returned val 
}); 

のような何か...:

angular.module('yourApp') 
    .factory('constants', function() { 

    var shared = { 
     baseURL: "/api/v1/", 
     usersURL: "/api/v1/users" 
    } 

    return shared; 

    }); 
関連する問題