2016-06-12 9 views
0

Ich möchte einige "Repositories" erstellen, und fügen Sie eine Basis-URL für alle Anfrage, sondern nur für dieses Repository.

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('/'); 
     } 

}); 

Ich weiß, es ist die httpProvider $ und ich konnte dort die Abfangjäger hinzufügen, aber es wird auf alle Anfragen hinzufügen und das ist nicht was ich will.

Was kann ich tun?

+0

wirklich erklärt haben nicht Ihr Problem gut – charlietfl

+0

vorschlagen Lesung [fragen] – charlietfl

+0

Ich möchte etwas wie $ ressource zu tun, wo Sie eine baseUrl für eine Instanz definieren, und für alle Anfragen von dieser Instanz wird die baseUrl definiert, sodass ich die baseUrl nicht allen Abfragen hinzufügen muss. – Luddinus

Antwort

1

Sie könnten eine constant.js-Servicedatei erstellen, die die verschiedenen Basis-URL-Zeichenfolgen enthält. Wenn Sie einen $ http-Aufruf ausführen müssen, rufen Sie diese spezifische Basis-URL an. wie

Etwas ...

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

Die constants.js Datei würde wie folgt aussehen:

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

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

    return shared; 

    });