GraphQL-第1部分
#javascript #网络开发人员 #api #graphql

大家好,今天我将向您展示什么是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