问题描述
根据Relay GraphQL Cursors Connection Specification,边缘可以具有其他信息。据我了解,对于UserProjectConnection
,这可以是例如role
字段,用于指定用户在项目中的角色。但是,由于您希望能够更改角色,所以我希望这样的边缘也可以是Node
(即具有ID),这样,当您更改角色时,客户端的缓存将得到更新自动。
使具有(可变)信息的边实现Node
接口是常见的做法吗?
要注意的一件事是,这意味着您不再具有从GraphQL对象类型到DB类型的一对一映射:因为用户/项目关系是双向关系,而Connection
是单向关系,您将有一个UserProjectConnection
和ProjectUserConnection
,它们的字段映射到相同的数据库实体,这意味着您的全局ID方法不能仅依赖数据库实体,而需要考虑该节点创建ID时输入类型。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)