ich zwei Web-Services haben:AngularJS kombiniert Web-Service-Antworten
Eine Rückkehr "Artikel" wie folgt aus:
[
{
"id": "1",
"headline": "some text",
"body": "some text",
"authorId": "2"
},
{
"id": "2",
"headline": "some text",
"body": "some text",
"authorId": "1"
}
]
Und der andere gibt ein "Autor" wie diese, eine ID gegeben:
{
"id": "1",
"name": "Test Name",
"email": "[email protected]",
"photo": "path/to/img"
}
Ich möchte die beiden kombinieren, damit ich den Namen und das Foto des Autors in einer Artikelübersichtsliste anzeigen kann.
So:
[
{
"id": "1",
"headline": "some text",
"body": "some text",
"authorId": "2",
"author_info": {
"id": "2",
"name": "Another Test Name",
"email": "[email protected]",
"photo": "path/to/img"
}
},
{
"id": "2",
"headline": "some text",
"body": "some text",
"authorId": "1"
"author_info": {
"id": "1",
"name": "Test Name",
"email": "[email protected]",
"photo": "path/to/img"
}
}
]
Ich habe einen „Artikel“ Service, der die Artikel holt, aber was ist der beste Ansatz für die zurückgegebene JSON mit dem Autor Informationen aus den ähnlichen „Autoren“ Service bereichern, bevor die Rückkehr "Artikel" Service-Ausgabe?
factory('Authors', ['$http', function($http){
var Authors = {
data: {},
get: function(id){
return $http.get('/api/authors/' + id + '.json')
.success(function(data) {
Authors.data = data;
})
.error(function() {
return {};
});
}
};
return Authors;
}]).
factory('Articles', ['$http', 'Authors', function($http, Authors){
var Articles = {
data: {},
query: function(){
return $http.get('/api/articles.json')
.success(function(result) {
Articles.data = result; // How to get the author info into this JSON object???
})
.error(function() {
Articles.data = [];
});
}
};
return Articles;
}])
Bitte sagen Sie mir auch, wenn das ein völlig falscher Ansatz ist. :)
Danke für den Rat, aber auf jedem Artikel alle Autoren holen würde bedeuten, nicht wahr? Das ist viel Verkehr. –
Nein, der Code geht davon aus, dass Sie alle Artikel abrufen können und nach Fertigstellung ALLE Autoren holen. Kombiniere dann die Ergebnisse. Nur zwei Anfragen sind beteiligt – Ulises
@ JakobLøkkeMadsen hast du es herausgefunden? – Ulises