1

当我运行查询时:

{
   "query": "{user(login: \"furknyavuz\") {repositories(first: 50, isPrivate: false) {nodes {name url}}}}"
}

我收到以下错误:

{
"data": null,
"errors": [
    {
        "message": "Field 'repositories' doesn't accept argument 'isPrivate'",
        "locations": [
            {
                "line": 1,
                "column": 51
            }
        ]
    }
]
}

我可以看到 isPivate 是 Repository 对象的字段,但我无法使用它进行搜索。

我不希望搜索对象的所有字段,但关键问题是,我如何查看哪些字段是可搜索的或可索引的?

4

2 回答 2

3

isPrivate是一个Repository对象字段,但repositoriesUser 对象内部是RepositoryConnection类型,并且repositories连接项具有以下参数/类型:

  • 隶属关系 [RepositoryAffiliation]
  • 在字符串之后
  • 字符串之前
  • 第一个整数
  • isFork 布尔值
  • isLocked 布尔值
  • 最后一个整数
  • orderBy RepositoryOrder
  • 隐私存储库隐私

RepositoryPrivacy是一个具有两个值的枚举:PUBLIC 和 PRIVATE。

以下请求将返回私人回购:

{
  user(login: "furknyavuz") {
    repositories(first: 50, privacy:PRIVATE) {
      nodes {
        name
        url
      }
    }
  }
}

请注意,在资源管理器中,如果您键入,CTRL+space您将获得带有类型的架构列表:

在此处输入图像描述

此外,CTRL+space在“:”之后再次为您提供枚举值:

在此处输入图像描述

于 2017-11-11T18:08:08.993 回答
1

自动完成:

导航到 Github 的GraphQL API Explorer。这是一个 Graph i QL 界面,可让您编写查询并在其中实时运行。GraphiQL 的一个简洁功能是包含自动完成功能。当您为字段键入参数时,只需按Alt+SpaceShift+即可Space弹出可能的参数列表。这也适用于字段。

文档:

Docs您还可以通过点击界面右上角的链接来查看架构的文档。这将显示所有可能字段的列表,包括它们采用的参数。这里还有一个架构参考页面。

GraphQL:

最后,您实际上可以自己询问 GraphQL 端点。例如,运行此查询将列出架构的所有类型以及每个类型使用的参数:

{
  __schema {
    types {
      name
      inputFields {
        name
        description
        type {
          name
        }
        defaultValue
      }
    }
  }
}
于 2017-11-11T18:06:48.920 回答