使用GraphQL的真正好处是什么?

时间:2018-10-05 14:57:29

标签: rest api graphql data-integration

我一直在阅读有关graphql好处的网络文章,但到目前为止,我还没有找到它的单一好处。

以下文章中提到的最常见的好处之一是?

  • 使用GraphQL不会过度提取。
  • 减少从客户端发出的呼叫数量。
  • 数据加载控制粒度
  • 改进您的API,而不使用任何版本。

最重要的是这些,但是graphql本身不能提供这些好处。用Java / Python或任何其他语言编写的任何第二层api也将能够提供此好处。它基本上是在数据检索系统之上引入另一层抽象,无论是其余部分,还是将客户端与该层分离。完成之后,您可以使用graphql进行的所有操作也可以使用任何其他语言来完成。

任何人都可以实现一个say scala服务器,该服务器从各种api检索数据并将它们集成在一起,在内部创建对象,并仅向客户提供数据的相关部分并完全控制数据。该api可以轻松地进行版本控制并相应地发布。考虑到graphql的语法,它的繁琐程度以及在其周围创建良好的缓存的难度,我看不出您为什么会真正使用它。

因此,总的问题是,由于graphql本身,而不是因为您在应用程序和api之间实现了另一层抽象,因此是否可以将graphql提供给应用程序?

2 个答案:

答案 0 :(得分:2)

称为REST的最佳做法也早已存在。

GraphQL比REST更标准化,更安全(无注入),并且语法在快速变化的客户需求方面具有极大的灵活性。

这只是最佳做法的良好标准。

答案 1 :(得分:-1)

我觉得 GrapgQL 是过度设计的另一个例子。我会说“最佳标准和实践”是“保持简单”。

在将其发送给客户之前分解和反对并构建一个自定义的是非常基本的。