为什么需要服务器来运行GraphQL

时间:2018-11-15 05:12:30

标签: graphql apollo-server

我对GraphQL完全陌生。太多的事情让我感到困惑,例如为什么我需要一台运行GraphQL的服务器,以及为什么某些库无法整理实现。 据我所知服务器是用于响应数据。那么它将对GraphQL起到什么作用。

2 个答案:

答案 0 :(得分:2)

  

GraphQL是用于API的查询语言和用于实现的运行时   这些查询与您现有的数据。 GraphQL提供了完整的   API中数据的易于理解的描述,可为客户提供   确切地要求他们需要什么的能力,仅此而已   随着时间的推移,API变得更容易开发,并启用了功能强大的开发人员工具。

https://graphql.org/

基本上,您有一个客户端和一个服务器端。客户端从服务器请求(查询)数据,或请求服务器更新数据(变异)。如果您仅在客户端工作,则不需要服务器(只要已经存在)。

此链接也可能有帮助:https://www.apollographql.com/why-graphql

希望这有意义吗?

答案 1 :(得分:0)

您已经注意到,它只是一种查询语言,并且您不需要服务器本身。例如,在参考graphql-js实现中,您可以just call graphql with a query;同样,在graphql-ruby中,您可以#execute a query on a schema object

不过,GraphQL在“野外”的通常情况是作为API层。您将在本机数据库上具有GraphQL接口,或者作为REST API的替代方法。在这两种情况下,如果您从同一系统中调用某些内容,通常都不会通过GraphQL仅仅将其转换为SQL。您将直接调用数据库层。

您可以将GraphQL与SQL进行比较,那里也有library-based implementations,但查询语言是与系统交互的 only 方式;以及其他API层(例如SOAP),这些层使用HTTP作为最小传输层,但实际上并没有真正使用协议的完整表达。