【发布时间】:2018-07-14 22:47:21
【问题描述】:
我有一个 Elixir API,可以使用 Graphiql 向我的数据库发送查询,如您所见,所有 crud 调用都运行良好。
field :users, list_of(:user) do
resolve &Graphical.UserResolver.all/2
end
这将返回数据库中的所有用户。现在显然,如果您使用前端,您不想手动输入查询,这并不理想。我将如何实现在架构文件中调用这些字段的函数?我该怎么写说这个查询
users{
id,
name,
email
}
在 Elixir 本身中,以便我可以从前端调用它以返回 JSON 格式的所有数据。 我很不确定在哪里以及如何编写查询,以便将它们传递给模式,然后 Absinthe 和 Ecto 负责其余的工作。
【问题讨论】:
-
如果我正确理解了您的问题,您只需告诉 Graphql 您想要什么,它就会处理您需要的所有数据。如果您需要过滤结果,您可以将
arg添加到您的字段中,在解析器函数中使用它。 -
是的,所以我可以手动执行此操作。但是我如何将查询和突变封装到函数中,然后我可以调用该函数并运行查询,而无需通过 gui 输入查询
-
写一个api,然后写一个函数,把你想要实现的逻辑放在里面,然后从前端调用那个api。它将根据你写的函数从数据库中获取记录并填充它在前端。
标签: elixir phoenix-framework graphql ecto