使用列表编辑对象时如何设计GraphQL查询以获取可用对象列表

时间:2019-12-08 12:00:25

标签: graphql

给一个对象(例如代表一组用户的UserGroup)和其他项(User)列表,什么是查询该组进行编辑的最佳方法。想象一下,一个编辑器的所有可用用户在左侧,而当前用户在组中的右侧,这两个列表都是互斥的。

  • 有2个单独的查询:一个查询获取用户组,另一个查询获取数据库中的所有用户,然后在显示编辑器之前过滤掉组中的用户已经

    >
  • 只有一个查询来获取所有内容,并可能通过用户权限限制编辑器外部对availableUsers的访问

query UserGroup($id: Int!) {
  userGroup(id: $id) {
    id
    name
    users {
      id
      emailAddress
    }
    availableUsers {
      id
      emailAddress
    }
  }
}

第一种方法使事物完全分开,并且在客户端上执行了其他过滤,第二种方法似乎更紧凑。

您怎么看?

0 个答案:

没有答案