大家好,今天我将向您展示什么是GraphQl以及如何开始。
GraphQl
GraphQl是Facebook开发的API(应用程序编程接口)的开源查询语言和运行时。它为获取和操纵数据提供了一种更有效,更灵活的替代方案。
使用GraphQl,您可以将单个请求发送到GraphQL Server,而不是向不同的端点提出多个请求以检索不同的数据集,而是确切地指定了您需要的数据。然后,服务器使用包含请求数据的JSON对象响应,该对象根据查询的形状构建。
这是GraphQl的一些关键功能和概念:
-
强烈键入:GraphQl具有一个类型系统,该系统允许您定义数据的结构并指定可以查询哪些字段。
-
有效且灵活的查询:客户可以要求他们需要的特定数据,从而消除数据过度提取或不及格的数据。服务器的响应匹配查询的结构,仅提供所请求的数据。
-
单端点:GraphQl具有单个端点,通常是 /graphQl,其中所有查询和突变都发送。这消除了对多个端点的需求,并简化了API表面。
-
层次结构和嵌套结构:GraphQl查询可以具有层次结构和嵌套的结构,使您可以以嵌套的方式穿越相关对象并检索数据。
-
牢固的关系:GraphQl可以有效地处理对象之间的关系。它支持查询相关对象,过滤,分类和分页。
-
突变:除了查询数据外,GraphQL还支持用于创建,更新和删除服务器上数据的突变。
-
内省:GraphQl提供内省功能,允许客户端查询模式本身以了解可用类型,字段和操作。
-
订阅:GraphQL通过订阅支持实时更新。客户可以订阅特定事件或数据更改并实时接收更新。
要开始使用GraphQl,请创建一个文件夹并运行这些命令 -
npm init
npm i apollo-server graphql lodash
- 这将安装所需的软件包,以创建服务器,创建GraphQl实例和操纵数组数据的Lodash。
npm i --save-dev nodemon
- nodemon可以在刷新或代码中的更新上连续运行服务器。
安装所需软件包后,创建一个称为index.js的文件并粘贴此代码
// index.js
const { ApolloServer } = require("apollo-server")
const {typeDefs} = require("./schema/type-defs")
const {resolvers} = require("./schema/resolvers")
const server = new ApolloServer({typeDefs,resolvers});
server.listen().then(({url}) => {
console.log(`server running at ${url}`)
})
- 这将创建一个新的Apollo服务器实例,该实例将在Localhost上运行:4000端口。
- 这是GraphQl Server的基本设置。
- 目前,如果您进行npm运行启动,它将显示错误,因为我们没有创建Typedefs和asolvers,我们将在下一部分中进行讨论
感谢您检查此帖子
您可以与我联系 -
Instagram -https://www.instagram.com/supremacism__shubh/
LinkedIn -https://www.linkedin.com/in/shubham-tiwari-b7544b193/
电子邮件-shubhmtiwri00@gmail.com
^^您可以在下面的链接上为我提供一些捐款,谢谢^^^
â --> https://www.buymeacoffee.com/waaduheck <--
也检查这些帖子
https://dev.to/shubhamtiwari909/website-components-you-should-know-25nm
https://dev.to/shubhamtiwari909/smooth-scrolling-with-js-n56
https://dev.to/shubhamtiwari909/swiperjs-3802
https://dev.to/shubhamtiwari909/custom-tabs-with-sass-and-javascript-4dej