2016-07-21 7 views
0

EDIT: Ich hätte in mindestens einem Punkt klarer sein: Ich möchte Folgendes mit meinem bestehenden Service tun. Es ist vielleicht nicht möglich sein, aber so etwas wie

return $resource(CONSTANTS.API + 'computer/:id/:action'... 

seemed plausible, wo :action die optionale ping sein könnte.

Zurück zur Ausgangsfrage ...

Also, ich habe eine externe api, die auf dieser Route antwortet:

localhost/api/computers/:id/ping 

Jetzt möchte ich einen Winkel Dienst erstellen, die Anfragen zu dieser Strecke schicken . Meine bestehenden Service sieht wie folgt aus:

(function() { 
    'use strict'; 
    angular 
     .module('computer') 
     .factory('ComputerService', ComputerResource); 

    ComputerResource.$inject = ['$resource', 'CONSTANTS']; 

    function ComputerResource ($resource, CONSTANTS) { 
     return $resource(CONSTANTS.API + 'computer/:id', 
      {id: '@id'}, 
      { 
       'update': { 
        method:'PUT' 
       } 
      } 
     ); 
    }; 
})(); 

Ich möchte in der Lage sein, meine theoretischen $resource etwas wie folgt zu verwenden:

ComputerService.ping({id: $stateParams.id}) 
    .$promise.then(function (data) { 
     ... 
    }); 

Ich glaube, ich brauche ping zum $resource irgendwie addieren und dann. ..Ich weiß nicht.

Irgendwelche Hilfe?

Antwort

0

Sollte funktionieren /ping auf Ihre URL-Zeichenfolge

function ComputerResource ($resource, CONSTANTS) { 
     return $resource(CONSTANTS.API + 'computer/:id/ping', 
      {id: '@id'}, 
      { 
       'update': { 
        method:'PUT' 
       } 
      } 
     ); 
    }; 
+0

Das scheint einige meiner anderen Routen Anhängen zu brechen. – crowhill

+0

müssen spezifischer sein als das. Verwendet es erwartete URL in Dev Tools-Netzwerk? – charlietfl

+0

Die obige '$ Ressource' deckt eine Anzahl von Standardrouten ab. Das Hinzufügen von "ping" zum Ende unterbricht diese anderen Routen ('query',' get', 'create' und' update'). – crowhill

Verwandte Themen