2016-06-12 5 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; 

    });