首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >继电器的GraphQL连接中有哪些限制?

继电器的GraphQL连接中有哪些限制?
EN

Stack Overflow用户
提问于 2016-07-14 08:59:13
回答 1查看 1K关注 0票数 1

我几乎完成了NodeJS https://github.com/nodkz/graphql-compose-connection的包,它允许为用graphql-compose构建的graphql类型构造连接类型。

这个包完全遵循中继游标连接规范(https://facebook.github.io/relay/graphql/connections.htm),并添加了大量内容:filter arg (用于过滤记录)和sort arg (用于根据唯一索引对记录进行排序)。

因此,我有以下关于游标唯一性的问题:

1)游标在不同类型之间是否是唯一的?

2)在具有不同args?的一个连接之间,光标是否是唯一的?

例如:在UserConnection中,我有过滤器arg。我希望在第一个列表中显示所有用户,在第二个列表中显示在线用户(页面上同时显示2个列表)。两个列表中都可能存在一个具有相同游标的用户。

3)如果继电器在一个连接中获得类似的游标,它会抛出错误吗?

4)应该是游标base64编码,或者它可能包含字符串化的json对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-15 14:20:32

1)游标在不同类型之间是否是唯一的?

如果您的问题是“游标是否应该是全局唯一的”,则答案是否定的。它们不像ID,在中继中必须是全局唯一的,以便于重取(用于区分)。光标可以像"100“或"101”这样的简单,尽管在实践中通常包含比这更具有描述性和/或结构化的内容。

2)在具有不同args?的一个连接之间,光标是否是唯一的?

例如:在UserConnection中,我有过滤器arg。我希望在第一个列表中显示所有用户,在第二个列表中显示在线用户(页面上同时显示2个列表)。两个列表中都可能存在一个具有相同游标的用户。

这是一个特定于实现的东西。光标的目的是启用分页,其内容是任意的。简单地说,它应该包含足够的信息,连同连接上的其他参数,使服务器上的GraphQL模式能够确定下一个(after)或前一个(before)页面应该返回什么。

3)如果继电器在一个连接中获得类似的游标,它会抛出错误吗?

我不确定是否会,但你可以试试,然后找出答案。即使它没有抛出一个错误,它可能是没有意义的。游标的目的是允许您为分页指定一个相对起点,所以如果光标"x“出现在连接中的两个不同位置,那么”前10之后“是什么意思?

4)应该是游标base64编码,或者它可能包含字符串化的json对象?

Base64是我们按照约定所做的事情,不是因为它是强制的,而是为了更清楚地表明游标应该被认为是不透明的标记,其内部结构不应该被依赖。它们是特定于实现的。因此,如果需要,我相信可以使用JSON字符串,但是Base64编码它有一些好处。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38369825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档