2016-05-31 11 views
2

Bei #/dossiers/{id}/offertes meiner Client-Anwendung
Ich brauche mein Dossier aus dem Rest api/dossiers/{id}.
Dann an diesem Dossier Ich brauche die entsprechenden offerte api/Dossiers/{id}/offerte
Von bekommen, dass ich meine offerteRecords api/offertes/{id2} bekommen/DatensätzeRestangular OneToOne Verbindung

ich wil mein REST schließen Daten here

Das erste Dossier ist kein Problem.

restService.getOne("dossiers",this.parentId).then(
    (dossier: any): void => { 
     this.dossier = dossier; 
} 

Aber dann möchte ich mein zweites Dossier bekommen. Ich kann es, wie dies tun:

restService.getOneUrl("offertes", this.dossier._links.offerte.href).then(
    (offerte: any): void => { 
     this.parent = offerte; 
     console.log("offerte is ", this.parent); 
    } 
); 

Und das gibt mir

Objekt {id: 1, createdBy: "System", CreatedOn: „2016-05-17T14: 24 : 43,384 + 0000" , updatedBy: null, updatedOn: null ...}

Aber ich will es wie

etwas tun
this.dossier.getList("offerte").then(
      (offerte: any):void =>{ 
       console.log("offerte is ", offerte); 
      } 
     ); 

Aber das gibt

[Route: "offerte", Anf_Parameter: null, restangularized: true, from: true, parentResource: Object ...]

Wie soll ich auf diesem Objekt aufrufen statt getList()

Antwort

0

Ich habe eine Teillösung für mein Problem gefunden.
In meiner restangularen Konfiguration war dies vordefiniert, als ich das Projekt bekam.

Dies machte die wonky Formatierung auf meine empfangenen Daten im Vergleich zu der getOneUrl.
Dies wurde getan, weil restangular immer ein Array in getList eingeben möchte.
Ich könnte dies lösen, indem ich einen bestimmten benutzerdefinierten Wrapper schreibe, der die Anforderungen von getList erfüllt, aber die einfachste/schnellste Lösung, um das zu tun, was ich möchte, ist die Verwendung von customGET();

this.dossier.customGET("offerte").then(
     (offerte: any):void =>{ 
      console.log("offerte is ", offerte); 
     } 
    ); 

Dies gibt das korrekte offerte Objekt zurück.