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

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

问题描述:

当我运行查询:Github GraphQL API:如何找出哪些字段是可搜索的?

{ 
    "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对象的领域,但我不能用它来搜索。

我不希望搜索对象的所有字段,但关键的问题是,我怎样才能看到哪些字段是可搜索或可索引的?

isPrivateRepository对象,但repositoriesUser object的场RepositoryConnection类型和repositories连接项具有以下参数/类型:

  • 的隶属关系[RepositoryAffiliation]
  • 字符串后
  • 字符串
  • 第一诠释
  • isFork布尔
  • isLocked布尔
  • 最后诠释
  • 排序依据RepositoryOrder前
  • 隐私RepositoryPrivacy

RepositoryPrivacy是一个有两个值的枚举:公共和私人。

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

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

注意,在the explorer,如果键入CTRL +空格你将有模式与类型上市:

enter image description here

另外,CTRL +空格再次在“:”后会给出枚举值:

enter image description here

自动完成:

导航到GitHub的GraphQL API Explorer。这是一个图形界面,它可以让你编写你的查询并实时运行它们。 GraphiQL的一个很好的功能是包含一个自动完成功能。当你输入一个字段的参数,只需按下Alt键+空间+空间的可能的参数会弹出一个列表。这也适用于领域。

文档:

您也可以通过敲击在界面的右上角的Docs链接查看该模式的文档。这将列出所有可能的字段,包括他们采取的参数。还有一个模式参考页面here

GraphQL:

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

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