2016-06-12 73 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

我想做一些类似$ resource的事情,在那里你定义一个实例上的baseUrl,并且来自该实例的所有请求都会定义baseUrl,所以我不必将baseUrl添加到所有查询中。 – Luddinus

回答

1

您可以创建一个constant.js服务文件,它包含您拥有的各种基本URL字符串,并且只要您需要进行$ http调用,就可以调用该特定的基本url。

喜欢的东西...

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

的constants.js文件应该是这样的:

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

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

    return shared; 

    });