Phoenix 앱에서 poison lib로 json으로 구조체를 serialize하는 것과 같은 일종의 자습서/예제를 찾고 있습니다. 나는 그러한 예를 발견했다. https://robots.thoughtbot.com/building-a-phoenix-json-api하지만 Poison을 사용하지 않고 구조체의 중첩 된 맵으로 구조체를 포함하지 않는다. 또한이 대답을 시도했습니다 : https://stackoverflow.com/a/34751835/4409736하지만 제대로 구현하지 못했습니다. 내 컨트롤러에서 다른 구조체와 has_many 관계를 갖는 구조체의 맵을 직렬화하고 싶습니다. 아무도 그런 모습을 보지 않았습니까?Phoenix와 다 대일 관계 직렬화
0
A
답변
1
Poison.Encoder 프로토콜에는 defimpl
을 사용하고 사용자 정의 encode
을 구현할 수 있습니다. 모델 파일에서 직접 수행해야하므로 추가 필드를 추가하거나 릴레이션이 제대로로드되었는지 확인할 수 있습니다.
관계 항목을 가져 오려면 assoc/2과 함께 개인 기능을 사용하고 encode
의 필드로 사용하면됩니다.
저는 struct와 함께 @derive를 사용했으며 인코딩이 작동합니다. 나는 __meta__를 except에 추가해야하고 마지막으로 Ecto 모델을 json에 직렬화했다. – michalSolarz