问:我想了解用户在Absinthe
graphql 框架内的 GraphQL 查询中选择的字段。
我很难四处寻找,%Absinthe.Resolution{}
因为它是一个巨大的状态,与许多文件上的零散文档一起使用。
给出以下示例。用户查询可以返回联合类型的帖子。用户在响应中遇到的每种类型上都选择id
、role
和。parentId
slug
Post
fragment Component on Component {
id
role
parentId
}
{
post(slug: "super-paloma-sunglasses") {
... on Post {
...Component
slug
}
}
}
现在我有一个解析器:
def post(_root, %{slug: slug}, info) do
# fields_by_type = queried_fields(info)
result = App.Repo.execute(:document_by_slug, [slug])
{:ok, result}
end
现在我的问题是,如果info
不完全了解Absinte.Resolution
.
Ps 是 Elixir Graphql 实现“苦艾酒”的新手。我显然会继续研究解决方案,如果我在这里找到一个帖子,但也许其他人遇到了类似的事情并且已经有了解决方案。
Pps:我不应该那么难,因为这一定是一个非常常见的用例,因为 GraphQL 使服务器能够小心他从数据库中获取的数据。