具有其他可变信息的GraphQL中继边缘是否也应该是节点?

问题描述

根据Relay GraphQL Cursors Connection Specification,边缘可以具有其他信息。据我了解,对于UserProjectConnection,这可以是例如role字段,用于指定用户在项目中的角色。但是,由于您希望能够更改角色,所以我希望这样的边缘也可以是Node(即具有ID),这样,当您更改角色时,客户端的缓存将得到更新自动。

使具有(可变)信息的边实现Node接口是常见的做法吗?

要注意的一件事是,这意味着您不再具有从GraphQL对象类型到DB类型的一对一映射:因为用户/项目关系是双向关系,而Connection是单向关系,您将有一个UserProjectConnectionProjectUserConnection,它们的字段映射到相同的数据库实体,这意味着您的全局ID方法不能仅依赖数据库实体,而需要考虑该节点创建ID时输入类型。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...