gpt4 book ai didi

github-api - 将多个游标作为变量传递给 GitHub GraphQL API?

转载 作者:行者123 更新时间:2023-12-04 11:53:27 24 4
gpt4 key购买 nike

我正在根据组织 ID 列表查找组织成员。每个组织都有一个分页的成员列表,其中包含 endCursor .自各endCursor会有所不同,并且每个组织都有不同数量的成员(和不同数量的页面),如何将不同的游标作为变量传回?如果是这样,每个游标如何与上一个查询中的组织 ID 相关联?

query($orgIds:[ID!]!, $page_cursor:String) { // not sure how to pass in the cursor when different length lists are returned
nodes(ids:$orgIds) {
... on Organization {
id
members(first: 100, after: $page_cursor) {
edges {
node {
id
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
}

我已阅读 http://graphql.org/learn/pagination/但我没有看到任何与为同一边缘列表传入多个游标相关的内容。

最佳答案

我还没有在 graphql 规范中找到关于如何为同一个边列表提供游标数组的任何细节。 GitHub 必须为此提供自定义功能。虽然我有一种感觉,但它并不是你想要的。

每个节点都存在一个游标,因此如果您将游标字段添加到边缘请求中,您将获得请求中所有节点的游标。

edges {
cursor
node {
id
}
}

响应会变成这样:
"edges": [
{
"cursor": "Y3Vyc29yOnYyOpLOAANaVM4AA1pU",
"node": {
"id": "MDQ6VXNlcjIxOTczMg=="
}
},

请注意,如果您将“first:100”参数更改为“first:5”,则 endCursor 是不同的,因为 endCursor 将是 5 个第一个结果的最后一个节点的最后一个光标。

从光标 ID 到组织 ID 的唯一引用是从 GitHub 的 graphql API 返回的对象结构。您示例中的任何光标都是特定组织的子项。

从我的角度来看,如果事后需要,您的客户可以记住该引用。考虑到这一点,您可能希望在进入下一个组织之前简单地遍历单个组织的页面。 (仅提供 1 个组织公关请求,而不是数组)。

关于github-api - 将多个游标作为变量传递给 GitHub GraphQL API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44382147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com