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对象的领域,但我不能用它来搜索。
我不希望搜索对象的所有字段,但关键的问题是,我怎样才能看到哪些字段是可搜索或可索引的?
答
isPrivate
是Repository
对象,但repositories
内User object的场RepositoryConnection类型和repositories
连接项具有以下参数/类型:
- 的隶属关系[RepositoryAffiliation]
- 字符串后
- 字符串
- 第一诠释
- isFork布尔
- isLocked布尔
- 最后诠释
- 排序依据RepositoryOrder前
- 隐私RepositoryPrivacy
RepositoryPrivacy
是一个有两个值的枚举:公共和私人。
以下请求将返回私人回购协议:
{
user(login: "furknyavuz") {
repositories(first: 50, privacy:PRIVATE) {
nodes {
name
url
}
}
}
}
注意,在the explorer,如果键入CTRL +空格你将有模式与类型上市:
另外,CTRL +空格再次在“:”后会给出枚举值:
答
自动完成:
导航到GitHub的GraphQL API Explorer。这是一个图形界面,它可以让你编写你的查询并实时运行它们。 GraphiQL的一个很好的功能是包含一个自动完成功能。当你输入一个字段的参数,只需按下Alt键+空间或移+空间和的可能的参数会弹出一个列表。这也适用于领域。
文档:
您也可以通过敲击在界面的右上角的Docs
链接查看该模式的文档。这将列出所有可能的字段,包括他们采取的参数。还有一个模式参考页面here。
GraphQL:
最后,你其实可以只问GraphQL端点自己。例如,运行此查询将列出所有类型的架构和每一个使用的参数:
{
__schema {
types {
name
inputFields {
name
description
type {
name
}
defaultValue
}
}
}
}