【问题标题】:Where does GraphQL argument type come from?GraphQL 参数类型从何而来?
【发布时间】:2020-10-04 23:32:21
【问题描述】:

我的查询如下所示:

mutation update_single_article($itm: String, $changes: roles_set_input!) {
  update_roles(_set: $changes, where: {role_id: {_eq: $itm}}) {
    returning {

    }
  }
}

我不确定roles_set_input 类型来自哪里。如果我将其更改为其他内容,我会收到一条错误消息,指出 did you mean... 带有不同值的列表。这个价值从何而来?它是 graphql 预定义的类型吗?它是在某个地方定义的吗?我尝试在 google 上搜索这个,但我无法获得任何结果,可能是因为我不确定要搜索什么。

如果这个值是在某处定义的,是否可以在 Hasura 中看到它?

【问题讨论】:

  • graphiql 文档 - 输入类型
  • 好的,这些可以在 Hasura 的某个地方找到吗?
  • 它是由 Hasura 根据您的表的架构预先定义的。例如*_set_input 将是任何表更新的类型。无法更改。使用 Hasura 的 GraphiQL。控制台将帮助您发现和导航这些类型。

标签: graphql hasura


【解决方案1】:

Hasura 会根据您的 Postgres 数据库自动生成您的 GraphQL 架构。您可以在控制台的 GraphiQL 选项卡下针对您的架构运行查询。

您可以使用左侧的“资源管理器”面板或点击右侧的“文档”链接来探索架构。除了每个字段的描述和返回类型之外,文档还将显示每个字段上可用的任何参数,包括该参数的类型。

【讨论】:

  • 我认为这不能回答问题。 @avimoondra 评论更接近我正在寻找的内容......
  • @GetOffMyLawn 您询问了类型来自哪里(Hasura 生成的模式)以及如何在控制台中查看类型(屏幕截图和随附说明)。如果您仍然不清楚某些事情,我很乐意澄清。您可能还想查看official introductory tutorial to GraphQL。 Hasura 也有一个 tutorial 你可能会觉得有帮助。
  • 也许我从你的图片中遗漏了一些东西,但它似乎没有显示roles_set_input 的来源、定义或定义方式。
  • 类型被定义为你的模式的一部分,它是由 Hasura 根据你的数据库自动为你生成的。我不知道您是否可以轻松查看 SDL 中的 整个 架构,如果这是您所要求的,但您可以通过上述两种方法(资源管理器面板和文档面板)探索所有架构.如果您在 docs 选项卡中搜索 update_roles,则可以单击 _set 参数,然后单击其类型以查看类型定义。
猜你喜欢
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 2022-10-13
  • 2017-05-14
相关资源
最近更新 更多