2017-01-26 2 views
0

Ich bin auf der Suche nach einer Art Tutorial/Beispiel der Serialisierung von Strukturen in Json mit Poison Lib in Phoenix App. Ich habe solches Beispiel gefunden: https://robots.thoughtbot.com/building-a-phoenix-json-api, aber es verwendet nicht Gift und es bedeckt Strukturen mit verschachtelter Karte der Strukturen nicht. Ich habe auch diese Antwort versucht: https://stackoverflow.com/a/34751835/4409736, aber ich habe es nicht richtig implementiert. Ich möchte die Karte von Strukturen mit has_many Beziehung mit einer anderen Struktur von meinem Controller serialisieren. Hat jemand so etwas gesehen oder könnte mir bei solch einem Fall helfen?Serialisierung von vielen zu eins Beziehung mit Phoenix

Antwort

1

Sie können einfach defimpl für Poison.Encoder Protokoll verwenden und benutzerdefinierte encode implementieren. Sie müssen es direkt in der Modelldatei tun und auf diese Weise können Sie zusätzliche Felder hinzufügen oder einfach sicherstellen, dass die Beziehung richtig geladen ist.

Um die Beziehungselemente zu erhalten, können Sie einfach private Funktion mit assoc/2 verwenden und sie dann als Feld in encode verwenden.

+0

Ich habe ein @derive mit meinen Strukturen verwendet und encode funktioniert. Ich musste __meta__ in das exserate und schließlich serialisierte Ecto-Modell in json einfügen – michalSolarz