带有附加可变信息的GraphQL中继边是否也应该是节点?
根据,边可以具有附加信息。据我所知,对于带有附加可变信息的GraphQL中继边是否也应该是节点?,graphql,relay,graphql-relay,Graphql,Relay,Graphql Relay,根据,边可以具有附加信息。据我所知,对于UserProjectConnection,这可以是一个role字段,指定用户在项目中的角色。但是,由于您希望能够更改角色,因此我希望这样的边缘也是一个节点(即具有ID),这样当您更改角色时,客户端的缓存会自动更新 使具有(可变)信息的边实现节点接口是常见做法吗 需要注意的是,这意味着您不再具有从GraphQL对象类型到DB类型的一对一映射:因为用户/项目关系是双向关系,而连接是单向关系,您将拥有一个UserProjectConnection和Projec
UserProjectConnection
,这可以是一个role
字段,指定用户在项目中的角色。但是,由于您希望能够更改角色,因此我希望这样的边缘也是一个节点
(即具有ID),这样当您更改角色时,客户端的缓存会自动更新
使具有(可变)信息的边实现节点
接口是常见做法吗
需要注意的是,这意味着您不再具有从GraphQL对象类型到DB类型的一对一映射:因为用户/项目关系是双向关系,而连接是单向关系,您将拥有一个UserProjectConnection
和ProjectUserConnection
,其中相同的字段映射到相同的DB实体,这意味着您的全局ID方法不能完全依赖DB实体,并且在创建ID时需要考虑节点类型