0

我有一个基本上是 API 的 Phoenix 应用程序。我有以下看法:

defmodule TattooBackend.Web.API.V1.AccountView do
  use TattooBackend.Web, :view

  alias TattooBackend.Repo

  def render("my_account.json", %{account: account}) do
    account = account |> Repo.preload(:studio)
    studio  = account.studio

    %{
      id: account.id,
      email: account.email,
      studio: %{
        id: account.studio.id,
        name: account.studio.name
      }
    }
  end
end

当我在 Postman 中触发此端点时,它会以以下格式返回响应:

{
    "studio": {
        "name": "asdasdsadsa123123",
        "id": 4
    },
    "id": 1,
    "email": "chujbasd@o2.pl"
}

为什么“id”和“email”在最后?他们应该是第一...

4

1 回答 1

1

您不能保证退货单,真的,没关系。如果这些值的顺序很重要,那么您的消费者可能应该按照预期的方式处理它们的顺序,以便每次都能正确完成。

映射中的键值对不遵循任何顺序

来源:https ://hexdocs.pm/elixir/Map.html

于 2017-06-20T23:33:10.020 回答