【问题标题】:Serializing many to one relation with Phoenix序列化与 Phoenix 的多对一关系
【发布时间】:2017-01-27 04:34:59
【问题描述】:

我正在寻找某种在 Phoenix 应用程序中使用 Poison lib 将结构序列化为 json 的教程/示例。我找到了这样的例子:https://robots.thoughtbot.com/building-a-phoenix-json-api,但它没有使用 Poison,也没有用结构的嵌套映射覆盖结构。我也尝试过这个答案:https://stackoverflow.com/a/34751835/4409736 但我未能正确实施。我想序列化与我的控制器中的另一个结构具有 has_many 关系的结构映射。有没有人见过这样的事情或者可以帮助我处理这种情况?

【问题讨论】:

    标签: elixir phoenix-framework elixir-poison


    【解决方案1】:

    您可以简单地将defimpl 用于Poison.Encoder 协议并实现自定义encode。 您需要直接在模型文件中执行此操作,这样您就可以添加其他字段或简单地确保正确加载关系。

    要获取关系项,您可以简单地使用 assoc/2 的私有函数,然后将其用作 encode 中的字段。

    【讨论】:

    • 我在我的结构中使用了@derive,并且编码正在工作。我不得不将 meta 添加到 except 中,最后将 Ecto 模型序列化为 json
    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多