【问题标题】:Why need a server for running GraphQL为什么需要服务器来运行 GraphQL
【发布时间】:2018-11-17 06:36:51
【问题描述】:

我是 GraphQL 的新手。很多事情让我感到困惑,比如为什么我需要一台服务器来运行 GraphQL,以及为什么某些库没有整理实现。 据我所知,服务器用于响应数据。那么它还能为 GraphQL 做什么。

【问题讨论】:

    标签: graphql apollo-server


    【解决方案1】:

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

    https://graphql.org/

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

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

    希望这有意义吗?

    【讨论】:

      【解决方案2】:

      正如您所注意到的,它“只是”一种查询语言,您不需要服务器本身。比如在参考的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 但查询语言是与系统交互的唯一方式;以及 SOAP 等其他 API 层,它们使用 HTTP 作为最小传输层,但并未真正使用协议的完整表达能力。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-03
        • 1970-01-01
        • 2011-07-31
        • 1970-01-01
        相关资源
        最近更新 更多