Github GraphQL API:如何找出可搜索的字段?

时间:2017-11-11 15:44:17

标签: rest github graphql github-api github-graphql

当我运行查询时:

{
   "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对象的字段,但是我无法用它进行搜索。

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

2 个答案:

答案 0 :(得分:3)

isPrivateRepository对象的字段,但lockf(3)内的repositories类型为User objectRepositoryConnection连接项具有以下参数/ type:

  • affiliations [RepositoryAffiliation]
  • 在String
  • 之后
  • 之前的字符串
  • first Int
  • isFork Boolean
  • isLocked Boolean
  • last Int
  • orderBy RepositoryOrder
  • privacy RepositoryPrivacy

repositories是一个包含两个值的枚举:PUBLIC和PRIVATE。

以下请求将返回私人仓库:

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

请注意,在RepositoryPrivacy中,如果您键入 CTRL + space ,您将拥有包含类型的架构列表:

the explorer

此外,"之后再次 CTRL +空格:"将为您提供枚举值:

enter image description here

答案 1 :(得分:1)

<强>自动完成:

导航到Github的GraphQL API Explorer。这是一个Graph i QL界面,可让您编写查询并实时运行。 GraphiQL的一个优点是包含自动完成功能。当您键入字段的参数时,只需按 Alt + 空格 Shift + 空格并弹出一个可能的参数列表。这也适用于领域。

文档:

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

<强> GraphQL:

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

{
  __schema {
    types {
      name
      inputFields {
        name
        description
        type {
          name
        }
        defaultValue
      }
    }
  }
}