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