【发布时间】:2019-04-24 14:45:08
【问题描述】:
在 GraphQL API 中构建查询和类型图结构时,您会将仅适用于查看器的高度上下文相关的查询放在哪里?
在顶层 (query.friendRequests)
这将消除 User 实体中的噪音,并且只保留可供所有用户查询的查询。不仅仅是观看用户。 它将添加更多的顶级查询,并有可能成为特定事物的专家,而这并不是真正的图思维和模型数据围绕业务逻辑的想法。
在查看者实体上 (query.viewer.friendRequests)
从数据的角度来看,将其放在查看器实体(这是一个用户类型)之下更有意义。好友请求始终属于始终是用户的父对象。
其他示例
- 仪表板小部件
- 用户通知
- 操作项/TODO 项/任务列表
- 消息
- 柜台和徽章
你们对此有何看法?在查看 API 实现中不适用于其他用户实体的用户上下文查询时,最好遵循什么最佳实践?
【问题讨论】:
标签: graphql api-design