【发布时间】:2019-03-25 08:27:15
【问题描述】:
我一直在研究GraphQL 的一些实现,据我了解,GraphQL 允许您以 Graph 的形式遍历数据。
这意味着您会得到一个书籍列表,这是一个 REST 调用。这些书可能有作者姓名。
当用户想要了解某个作者的更多信息时,他会这样说,然后进行另一个 REST 调用以获取有关该作者的更多详细信息。
类似地,图书列表可能有一个名为 Publisher 的字段,等等。 因此,您在这里获取数据,就好像您将 Book 的节点连接到 Author 或 Publisher 的节点一样。
但我已经看到了一些实现,其中来自两个 rest 调用的数据使用 for 循环组合并呈现在 UI 中。例如调用书籍的 REST API,然后调用编写这些书籍的作者的 REST API。运行 for 嵌套 for 循环(n^2 复杂度)以组合结果并在一个摘要视图中显示书籍和作者的信息。
这是一种可接受的做法,还是它打破了 GraphQL 不应该做的一些核心概念?
【问题讨论】:
标签: graphql graphql-js graphql-java express-graphql