📝 GraphQL教程
16篇技术文档📅  最后修改于: 2020-10-25 05:04:40        🧑  作者: Mango
GraphQL是由Facebook开发的用于优化RESTful API调用的开源服务器端技术。它是执行引擎和数据查询语言。本教程将向您介绍GraphQL的基本概念,包括-使用Apollo服务器实施GraphQL API使用GraphiQL测试GraphQL API构建ReactJS(带有Apollo客户端库)和jQuery客户端应用程序以使用API听众本教程是为开发基于Client-Server体...
📅  最后修改于: 2020-10-25 05:05:18        🧑  作者: Mango
GraphQL是由Facebook开发的用于优化RESTful API调用的开源服务器端技术。它是执行引擎和数据查询语言。在本章中,我们讨论使用GraphQL的优点。为什么选择GraphQLRESTful API遵循清晰且结构良好的面向资源的方法。但是,当数据变得更复杂时,路由会更长。有时无法通过单个请求来获取数据。这是GraphQL派上用场的地方。 GraphQL具有强大的查询语法,可以遍历,检...
📅  最后修改于: 2020-10-25 05:05:50        🧑  作者: Mango
在本章中,我们将学习GraphQL的环境设置。要执行本教程中的示例,您将需要以下内容-运行Linux,macOS或Windows的计算机。网络浏览器,最好是最新版本的Google Chrome。已安装最新版本的Node.js。建议使用最新的LTS版本。安装了带有VSCode扩展名GraphQL的Visual Studio Code或您选择的任何代码编辑器。如何使用Node.js构建GraphQL服...
📅  最后修改于: 2020-10-25 05:06:10        🧑  作者: Mango
GraphQL是描述GraphQL服务器行为的规范。它是关于如何处理请求和响应(如支持的协议,服务器可以接受的数据格式,服务器返回的响应格式等)的一组准则。客户端对GraphQL的请求服务器称为查询。 GraphQL的另一个重要概念是其传输层不可知论性。它可以与任何可用的网络协议(例如TCP,websocket或任何其他传输层协议)一起使用。它对数据库也是中立的,因此您可以将其与关系数据库或NoS...
📅  最后修改于: 2020-10-25 05:06:31        🧑  作者: Mango
本章讨论了不同的GraphQL组件及其相互通信的方式。整个应用程序组件可以区分如下-服务器端组件客户端组件服务器端组件GraphQL服务器构成服务器端的核心组件,并允许解析来自GraphQL客户端应用程序的查询。 Apollo Server是GraphQL规范的最常用实现。其他服务器编程组件包括以下内容-Sr.No.Server Essentials & Description1SchemaA G...
📅  最后修改于: 2020-10-25 05:07:05        🧑  作者: Mango
在本章中,我们将创建一个简单的API,该API返回问候消息HelloWorld,并使用GraphiQL访问它。例本示例基于NodeJS,Express和Apollo服务器。我们将学习将所有概念与以下步骤放在一起-第1步-设置ExpressExpressJS是一个Web应用程序框架,可帮助构建网站和Web应用程序。在此示例中,我们将在Express框架之上构建GraphQL API。下一步是创建一个...
📅  最后修改于: 2020-10-25 05:07:57        🧑  作者: Mango
GraphQL模式是任何GraphQL服务器实现的核心。它描述了连接到它的客户端应用程序可用的功能。我们可以使用任何编程语言来创建GraphQL模式并围绕它构建接口。GraphQL运行时定义了一个基于图形的通用架构,以发布其表示的数据服务的功能。客户端应用程序可以在其功能范围内查询架构。这种方法使客户端与服务器脱钩,并允许它们独立发展和扩展。在本章中,我们使用Apollo服务器执行GraphQL查...
📅  最后修改于: 2020-10-25 05:08:54        🧑  作者: Mango
解析器是为GraphQL查询生成响应的函数的集合。简单来说,解析器充当GraphQL查询处理程序。 GraphQL模式中的每个解析器函数接受四个位置参数,如下所示:解析器功能的示例如下所示-下面给出了位置参数及其描述-Sr.No.Arguments & Description1rootThe object that contains the result returned from the res...
📅  最后修改于: 2020-10-25 05:10:04        🧑  作者: Mango
...
📅  最后修改于: 2020-10-25 05:10:41        🧑  作者: Mango
在本章中,我们将学习GraphQL中的突变查询。变异查询会修改数据存储区中的数据并返回一个值。它可用于插入,更新或删除数据。突变被定义为架构的一部分。下面是突变查询的语法-插图让我们了解如何使用突变查询将新的学生记录添加到数据存储中。步骤1-下载并安装项目的必需依赖项通过名称突变应用创建一个项目文件夹。从终端将目录更改为mutation-app。请按照“环境设置”一章中说明的步骤3到5进行操作。第...
📅  最后修改于: 2020-10-25 05:11:07        🧑  作者: Mango
在添加或修改数据时,重要的是验证用户输入。例如,我们可能需要确保字段的值始终不为null。我们可以使用! (不可为空)类型标记在GraphQL中执行此类验证。使用!的语法类型标记如下-上面的语法确保所有字段都不为空。如果我们要实施其他规则,例如检查字符串的长度或检查数字是否在给定范围内,则可以定义自定义验证器。定制验证逻辑将成为解析器函数的一部分。让我们借助示例了解这一点。插图-实现自定义验证器让...
📅  最后修改于: 2020-10-25 05:11:36        🧑  作者: Mango
Web应用程序异步发送和检索数据(在后台)。 AJAX允许网站在不刷新页面的情况下将内容加载到屏幕上。 jQuery为AJAX功能提供了几种方法,从而使使用AJAX更加容易。在本章中,我们将学习如何将GraphQL与jQuery集成。考虑使用客户端服务器体系结构的应用程序。我们可以构建一个前端网页,以从GraphQL服务器请求数据。该网页将使用jQuery对GraphQL服务器进行AJAX调用。为...
📅  最后修改于: 2020-10-25 05:13:34        🧑  作者: Mango
验证是验证用户或进程身份的过程或动作。应用程序对用户进行身份验证很重要,以确保匿名用户无法使用该数据。在本节中,我们将学习如何认证GraphQL客户端。捷运在此示例中,我们将使用jQuery创建客户端应用程序。为了验证请求,我们将在服务器端使用express-jwt模块。express-jwt模块是一个中间件,可让您使用JWT令牌对HTTP请求进行身份验证。 JSON Web令牌(JWT)是一个长...
📅  最后修改于: 2020-10-25 05:14:16        🧑  作者: Mango
缓存是将数据存储在称为缓存的临时存储区域中的过程。当您返回到您最近访问过的页面时,浏览器可以从缓存而不是原始服务器中获取这些文件。这样可以节省您的时间,并使网络免受额外流量的负担。与GraphQL交互的客户端应用程序负责在其末尾缓存数据。一种可能的模式是将字段(例如id)保留为全局唯一标识符。内存缓存InMemoryCache是一个标准化的数据存储,通常在GraphQL客户端应用程序中使用,而无需...
📅  最后修改于: 2020-10-25 05:15:54        🧑  作者: Mango
以下资源包含有关GraphQL的其他信息。请使用它们来获得有关此方面的更深入的知识。GraphQL上的有用链接GraphQL Wiki–GraphQL的维基百科参考。官方网站-GraphQL的官方网站。GraphQL上的有用书籍要在此页面上注册您的网站,请发送电子邮件至...