Ember.js Rest-Adapter: Mapping von JSON ohne Root (.NET Web API)

8

Ich habe einen bestehenden Service mit der .NET Web API geschrieben.

Als Beispiel gibt dieser Service JSON im folgenden Format zurück:

%Vor%

Laut der Ember.js Rest Adapter-Dokumentation würde Ember jedoch JSON in der. erwarten folgendes Format:

%Vor%

Aus diesem Grund gibt Ember den folgenden Fehler zurück: Ihr Server hat einen Hash mit dem Schlüssel 0 zurückgegeben, aber Sie haben keine Zuordnung dafür

Auf keinen Fall beabsichtige ich, meine Service-API zu ändern und wie sie Daten zurückgibt.

Wäre es möglich, Ember.js (neueste Version) mit den vorhandenen Daten zu arbeiten, die mein Dienst zurückgibt? Und wenn ja, wie kann ich das umsetzen?

    
Tyson Nero 05.04.2013, 16:56
quelle

3 Antworten

5

Ember ist in diesem Sinne sehr flexibel und bietet die Möglichkeit, den Adapter und den Serializer zu erweitern, um Ihre App mit jeder Backend-API zu integrieren.

Sie sollten den WebAPIAdapter erhalten, der Teil der Ember.js-Vorlage für das Web ist API .

Zusätzlich könntest du vielleicht ein Projekt ansehen, das ich als Beispiel dafür geschrieben habe die gleiche Vorlage (mit einigen Modifikationen, die ich selbst gemacht habe). Es ist noch in der Entwicklung und es enthält (noch) nicht alle Best Practices, aber ich würde sagen, es ist ein gutes Beispiel.

Sie sollten auch einen Blick in diese Repo / Bibliothek werfen (Sie können es installieren über NuGet ), mit dem Sie Ihre Handle-Vorlagen direkt in Ember.TEMPLATES collection.     

MilkyWayJoe 05.04.2013, 17:25
quelle
0

in der Web-API geben Sie einfach neues {Objekt}

zurück %Vor%

Dadurch wird Ihr Objekt in ein Objekt mit demselben Namen eingeschlossen. Wenn Sie das Objekt anders aufrufen müssen, tun Sie einfach

%Vor%     
racamp101 24.08.2014 19:09
quelle
0

Ich hatte dieses Problem in Ember und fand die beste Lösung für mich, einen neuen Serializer zu erstellen und die normalizePayload-Methode zu überschreiben. Code unten:

%Vor%

} });

Dies umschließt die erste Antwort und fügt die Wurzel hinzu, hoffe, es hilft!

    
Mark Haynes 29.08.2015 22:04
quelle