【问题标题】:GraphQL queries showing error in the .graphQl fileGraphQL 查询在 .graphQl 文件中显示错误
【发布时间】:2019-12-26 13:01:13
【问题描述】:

我正在做一个关于 graphql 查询的演示项目。遵循所有必需的步骤,并从我在 graphcool 上的虚拟 graphql 服务器下载了 schema.json。但是,当我编写包含 graphql 查询的 .graphql 文件时,android studio 向我显示字段的错误。即使在我成功构建项目之后,错误仍然存​​在。我有一个虚拟的 graphql 服务器,它具有 Employee 类型和 5 个字段:name、id、height、age 和 work。

我尝试创建一个新项目并重新编写所有代码。我曾尝试重建和清理我的项目等。我已经重新下载了 schema.json 文件并尝试删除和重写 .graphql 文件。但是仍然会抛出错误。

query getAllEmployeeDetails{
    allEmployees{
        name
        id
        height
        age
        work
    }
}

这是我的 .graphql 文件。 Android Studio 在所有 5 个字段上都抛出错误,并且也在“allEmployees”上抛出错误。

graphql后端对应的查询是:

query{
  allEmployees{
    name
    id
    height
    age
    work
  }
}

效果很好。

预期结果是 android studio 不应该在字段上抛出错误。

【问题讨论】:

  • 您看到了哪些具体错误?
  • @DanielRearden 未知字段:父选择或操作未解析为有效的架构类型。
  • 我也遇到了同样的问题,你能解决这个问题吗?
  • @ShyamnathMallinatham 还没有。网络上没有足够的关于带有 Android 的 graphql 的可用资源

标签: android graphql apollo apollo-client


【解决方案1】:

我遇到了同样的问题... Zizoh 和 Mahmoud Magdy 对此进行了解释,但我将把更多细节留在这里,以帮助任何需要的人。 在 android studio 中,在根文件夹中创建一个 .graphqlconfig,如下所示:

enter image description here

为您的服务器网址更改该网址

enter image description here

之后,点击刚刚创建的配置文件中的播放图标..

enter image description here

现在一切都应该如你所愿:)

【讨论】:

  • 请将代码和错误添加为文本 (using code formatting),而不是图像。图片存在问题的原因有很多,包括它们不允许复制粘贴文本进行测试或搜索。
  • 唯一需要编写的代码在 Zizoh asnwer 中... 我提出这个 asnwer 的唯一原因是展示如何逐步实现这些 asnwers,因为这可能会令人困惑。 .. :)
  • 但是会遵循这些提示来解决下一个问题/问题,谢谢! :)
【解决方案2】:

将名为.graphqlconfig 的文件添加到项目的根目录。文件的内容应该是这样的:

{
    "name": "Remote Schema",
    "schemaPath": "remote-schema.graphql",
    "extensions": {
        "endpoints": {
            "Apollo Fullstack Tutorial": {
                "url": "https://apollo-fullstack-tutorial.herokuapp.com/",
                "headers": {
                    "user-agent": "JS GraphQL"
                },
                "introspect": true
            }
        }
    }
}

url 更改为您服务器的端点并更改“远程 SWAPI GraphQL 端点”以更好地描述您的服务器。 另见here

【讨论】:

    【解决方案3】:

    我遇到了您在评论中提到的相同错误,整个查询显示相同的错误,每个字段都无法解析,但在开发中代码工作正常。 于是找了很多遍,直到找到this issue

    打开 .graphqlconfig 文件后,有一个按钮可以在这里运行一个名为“自省查询”的查询,就像这个快照here

    一个名为“schema.graphql”的新文件将自动添加到您的graphql文件夹中,它是一个包含端点的整个输入、类型和标量的文件,生成文件后,一切都会再次正常,并且错误将消失。

    【讨论】:

      猜你喜欢
      • 2020-10-13
      • 2019-11-14
      • 2017-07-27
      • 2019-01-26
      • 1970-01-01
      • 2019-10-26
      • 2020-05-09
      • 2020-09-12
      • 2019-12-03
      相关资源
      最近更新 更多