问题标签 [absinthe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphql - 如何在没有扩展的情况下请求 graphql 查询?
嗨,我想从服务器请求 graphql 查询。但它总是返回一堆登录扩展字段。我的问题是如何修改下面的 graphql 查询以丢弃扩展名。这是我的 graphql 查询:
这是回应:
正如您在上面的响应中看到的,有很多我不想在我的 graphql 请求中存在的扩展。我的问题是,我怎样才能检索结果只包含我只需要没有扩展的响应?
graphql - 如何使用 Absinthe Dataloader 处理多对多关系
在我的 phoenix 应用程序中,我在 Artist 和使用连接表实现的 Cause 模式之间存在多对多关系artists_causes
。在我的 Artist 模式中,我有many_to_many :causes, Cause, join_through: "artists_causes"
,在我的 Cause 模式中,many_to_many :artists, Artist, join_through: "artists_causes"
我使用苦艾酒作为 graphql,在我的CauseTypes
模块中,我实现了一个cause
对象,如下所示
据我了解,使用 Absinthe Dataloader,dataloader/1 是加载艺术家列表所需的。artists: #Ecto.Association.NotLoaded<association :artists is not loaded>
但是,当我在 graphiql 中运行以下查询时,我无法从出现错误的原因中查询艺术家
在处理多对多的关系时,我是否缺少任何一点点?
==========
更新
我更新了我的 list_causes 函数如下
至
并且,我现在收到FunctionClauseError at POST /graphiql\n\nException:\n\n ** (FunctionClauseError) no function clause matching in anonymous fn/3 in Absinthe.Resolution.Helpers.dataloader/1
可能指向该Absinthe.Resolution.Helpers.dataloader/1
方法的错误。我有导入的助手还有什么我可能会丢失的吗?
phoenix-framework - 为什么我的注册突变不适用于角色字段?
为什么我的注册突变不适用于角色字段?
我编写了以下代码,但无法弄清楚为什么我的角色枚举不适用于我的突变。
我将我的代码上传到 github Github code。
注册突变有效:
但是当我尝试登录突变时,它失败了:
我得到这个错误::
elixir - Elixir + Absinthe + Ecto + Dataloader – 按多个字段过滤
使用 Elixir/Absinthe/Ecto/Dataloader,如何通过多个字段查询/过滤源?
例子:
假设您要过滤User
由两个字段命名的架构(和数据加载器源),一个命名is_admin
(仅true
值),一个group_id
可以是列表中的任何值,例如[1, 5, 9]
使用Dataloader看起来如何?
这是来自架构定义:
这是数据源模块:
graphql - 我没有 GraphQL。不预加载如何解决N+1问题?
一个社区有很多家。每个家都归一个人所有。
假设我有这个 graphql 查询:
我可以预加载所有者,这将使数据请求成为单个 SQL 查询。美好的。
但是如果我不在graphql查询中请求所有者,数据仍然会被预加载。
如果我不预加载,数据要么在每个查询中获取,要么根本不获取,因为我没有在解析器中加载 belongs_to 关联。
我不确定这是否是一个已解决的问题,或者只是一个在使用 graphql 时必须接受的痛点。
顺便使用 Absinthe、DataLoader 和 Elixir。
reactjs - 允许通过 GraphQL 为 Elixir 后端上传多部分(图像)
我希望能更清楚地了解我可能出错的地方。对不起,如果我问了很多问题,因为我感到有点失落并且在这个问题上被困了大约一周。
目前,我已经更改了用于与 apollo-client 链接的包。以前的包是apollo-link-http
现在我正在使用apollo-absinthe-upload-link
,因为我读过它允许图像上传。
如下所示
将信息发送到后端没有任何变化,但在上传图像方面我确实继续迷失方向。此图像的目的是上传到云端,然后将 url 信息与产品详细信息一起保存。
我正在使用一个钩子const [ images, setImages ] = useState([]);
和一个输入<input type="file" placeholder="Upload Image" onChange={handleUploadImage} />
onChange 函数的目的是将图像信息设置为 images 属性。当我们将突变发送到后端时,它的完成方式如下
当它运行时,在我的控制台中我得到一个错误,Uncaught (in promise) Error: GraphQL error: Argument "fileData" has invalid value $fileData.
我在后端看到键fileData
有一个空对象作为它的值。我希望就可能出现的问题或我应该考虑的问题获得一些建议。如果有人提到 CURL,请解释一下,因为我不知道这对于 GraphQL 和发送突变意味着什么。感谢您对此事的帮助。
PS - 正在使用的突变调用是
更新 - 网络退货请求
后端架构
graphql - 苦艾酒 - 响应格式 %{data: %{id: 1, name: "Bob"}} vs %{data: %{createUser: %{id: 1, name: "Bob"}}}
格式化响应的正确方法是什么,我将如何处理?
在我在网上看到的示例中,响应数据永远不会嵌套在具有突变名称的键中
这是请求
以下哪个是 GraphQL 的正确响应格式?
这就是我现在的样子。
这是我在网上的一些例子中看到的(我认为它看起来更干净)
其中哪一个是更惯用的 GraphQL?如果是第二个,有没有办法让苦艾酒以这种方式格式化响应?
react-native - [网络错误]:TypeError:网络请求失败
我第一次尝试阿波罗。我的后端服务器是 Phoenix 框架(elixir)。并在http://localhost:4000/api中运行 所以我尝试在我的代码中使用这样的 apollo 进行第一次查询。
但我得到了一个错误。
在我的服务器日志中什么也没说。我认为我的客户甚至没有接触服务器。我错过了什么?有任何想法吗?:(
graphql - 拨号器(通过 Dialyxir)从 Absinthe (GraphQL) 路由的 `forward` 命令发出有关“但此值不匹配”的警告。如何解决?
我收到一个关于不匹配返回的透析器错误,我不确定如何正确解决。
我的mix.exs
样子是这样的:
我的router.ex
样子是这样的:
我已经尝试过这个_ =
技巧,但它似乎不起作用。我认为使用无与伦比的回报可能会有所帮助,但在这种情况下可能不会。我已阅读此页面(https://github.com/jeremyjh/dialyxir/wiki/Phoenix-Dialyxir-Quickstart),但我认为它无助于解决此问题。
任何反馈或方向将不胜感激。
谢谢
graphql - 用苦艾酒在 GraphQL 中表示 Elixir/Ecto 关联
我已经为我的几个模型添加了多对多关联,并且它似乎在隔离时工作得很好——这意味着没有 GraphQL 模式声明。这是我的一个模型的代码:
这是 GraphQL 类型声明:
这是 Absinthe/GraphQL 部分的顶级架构定义:
请注意,卡片字段在类型中被注释掉。在这种情况下一切正常,但是,如果我取消注释该卡字段,我会收到以下错误:
我已经非常积极地用谷歌搜索了这个问题,但找不到任何东西。目前还不清楚该assoc
功能甚至存在于何处——它是一个 ecto 的东西吗?还是苦艾酒?我还在某处找到了示例代码,dataloader
但我根本无法让它工作。
我感谢你们所有人的任何想法和想法!谢谢