2016-12-20 15 views
0

Ich habe Probleme mit der Resource Factory von angular. Ich habe Pfadvariable ID und REST API akzeptiert auf derselben URL auch Abfrageparameter namens "ID". Lassen Sie uns mit einigen Beispiel dieses Problem beschreiben:Angular ngResource Array-Pfadvariable

Ressourcen url: "/person/:id"

REST API akzeptiert auch Abfrage param id als Filter: "/person?id=5,7,11" oder "/person?id=5&id=7&id=11"

$resource("/person/:id", {id: [5, 7, 11]}) 

Diese "/person/5,7,11" ungültige URL erzeugt. Habe ich etwas verpasst? Ich habe erwartet, dass der Array-Typ nicht als Pfadvariable zugewiesen werden kann. Stattdessen sollte es automatisch in Abfrageparameter konvertiert werden (? Id = 5 & id = 7 & id = 11). Hat jemand eine Idee, wie man dieses Verhalten überschreibt? Übrigens. Ich kann die Namens-ID nicht ändern. Vielen Dank für Anregungen ..

+0

das/entfernen: id und es sollte ich, dass ich Kombination brauchen mit Pfadvariablen id erraten – yBrodsky

Antwort

1

Versuchen

$resource('/person/', {'id':[5, 7, 11]} 

oder alternativ:

$resource("/person/?id=:myparams", {myparams: [5, 7, 11]}) 
+0

arbeiten. Jedes Objekt (in diesem Fall eine Person) wird werkseitig mit einem eindeutigen API-Pfad in der Form "/ object /: id" dargestellt. So ändern sich die Form der URL oder Vars/Params in einem Fall von 10 ist keine Lösung für mich. Ich suche nach generischen Weg .. Aber danke – bigless

+1

Edit. Es tut uns leid. Ich habe es das erste Mal nicht gesehen. Dein zweiter Tipp ist wahrscheinlich, was ich will .. mit wenig Modifikation $ resource ("/ person /: id? Id =: myparams", {myparams: [5, 7, 11]}) – bigless

Verwandte Themen