为什么GraphQL被称为“ API”而不是任何数据的查询语言?

时间:2019-08-06 16:35:58

标签: graphql

我刚刚开始阅读有关GraphQL的内容,描述说这是API的查询语言。为什么将其称为API的查询语言? Graphql API服务不能直接与数据库或任何其他数据源直接对话吗?

1 个答案:

答案 0 :(得分:1)

这只是可怜的单词选择。在官方网站的其他地方,他们将其称为“用于您的 API的查询语言”(重点是我的语言),该语言的含义不太明确。当然,其他API端点也可以用作GraphQL服务的数据源,数据库,文件系统或几乎所有其他端点也可以用作数据源。但是,其意图是 GraphQL可用于创建API ,而不是专门用于与其他API交互。

这是the spec中较为技术性和完整的描述:

  

GraphQL是一种查询语言,旨在通过提供直观而灵活的语法和系统来描述其数据需求和交互来构建客户端应用程序。

     

GraphQL不是一种能够进行任意计算的编程语言,而是一种用于查询具有本规范中定义的功能的应用程序服务器的语言。 GraphQL没有为实现它的应用程序服务器强制使用特定的编程语言或存储系统。相反,应用程序服务器利用其功能并将其映射到GraphQL编码的统一语言,类型系统和原理。这提供了对产品开发友好的统一界面和强大的工具构建平台。