在现代的Web开发中,API的建立和使用变得越来越普遍。API(应用程序编程接口)是指在计算机系统之间进行通信和交互的一种软件接口。Web开发中的API通常用于连接前端和后端,并允许数据在它们之间传递。然而,当涉及到大规模数据的处理时,传统的API架构会显得非常麻烦,这时两种技术,Express.js 和 GraphQL,就成为了构建API的首选。
什么是Express.js?
Express.js是一款流行的Node.js框架,它是一种轻量级的Web应用程序框架,旨在使构建Web应用变得更加容易。它提供了各种有用的功能,例如路由,模板引擎,中间件等,使得构建Web应用变得更高效。
什么是GraphQL?
GraphQL是一种用于API的查询语言,它允许客户端明确请求它们需要的数据,并在一次请求中获得所需数据的能力。 GraphQL旨在解决RESTful API的缺点,例如过多或不足的数据,性能问题,以及难以扩展等问题。
如何使用Express.js和GraphQL构建API
接下来,我们将介绍使用Express.js和GraphQL构建API的步骤,并给出一些示例代码。我们将构建一个简单的API,可以查询一些用户数据。
第一步:安装依赖项
在开始之前,确保已经在您的机器上安装了node.js和npm。 接下来,进入终端,并创建一个新的Express.js应用程序:
npx express-generator api-demo cd api-demo && npm install
上述命令将创建一个名为“api-demo”的新Express.js应用程序。
接下来,安装需要的依赖项:
npm install express express-graphql graphql
第二步:创建模型和数据
在创建我们的模型和数据之前,让我们先创建一个新的“users.js”文件,该文件将用于存储用户数据:
module.exports = [ { id: 1, name: 'Alice', age: 28 }, { id: 2, name: 'Bob', age: 32 }, { id: 3, name: 'Charlie', age: 35 }, { id: 4, name: 'David', age: 40 }, { id: 5, name: 'Eve', age: 45 } ];
接下来,我们可以在“app.js”中创建我们的模型:
-- -------------------- ---- ------- --- ------- - ------------------- --- ----------- - --------------------------- --- - -------------- ------------------ -------------- ----------- ----------- - - ------------------- --- ----- - ------------------- -- ---- --- -------- - --- ------------------- ----- ------- ------- - --- - ----- ---------- -- ----- - ----- ------------- -- ---- - ----- ---------- - - --- -- ---- --- --------- - --- ------------------- ----- -------- ------- - ------ - ----- ---------------------- -------- -- -- ----- - - --- -- ---- ------- ------ --- ------ - --- --------------- ------ --------- --- -- ---- ------- ---- --- --- - ---------- -- - ------- ------------- ------- -- ------------------- ------------- ------- ------- --------- ---- ---- -- ----- ---------------- -- -- - ------------------- ------- -- -------------------------------- ---
在上面的代码中,我们首先引入了GraphQL的相关库,并定义了一个“userType”类型和一个“queryType”查询类型。我们的模型定义好了之后,我们用这些定义创建了一个GraphQL schema。
然后,我们创建了一个Express.js应用程序,并将GraphQL作为中间件添加到应用程序中。我们还启动了我们的服务器,让它可以在http://localhost:3000/graphql上监听到来自GraphQL的请求。
第三步:测试API
我们已经成功构建了一个可以查询用户数据的GraphQL API。让我们测试一下它是否正常工作。
你可以通过以下命令来运行你的服务器:
node app.js
当你运行它时,就可以从浏览器中访问该API。打开浏览器,然后在地址栏中输入:http://localhost:3000/graphql
这时你应该看到GraphQL的查询界面。
在“Query variables”输入框中输入以下内容:
{ users { id name age } }
然后点击“Run”按钮。你将会在下面的“Response”标签中看到以下结果:
-- -------------------- ---- ------- - ------- - -------- - - ----- -- ------- -------- ------ -- -- - ----- -- ------- ------ ------ -- -- - ----- -- ------- ---------- ------ -- -- - ----- -- ------- -------- ------ -- -- - ----- -- ------- ------ ------ -- - - - -
这个结果表明我们已经成功地从GraphQL中查询了用户数据。
总结
在本文中,我们介绍了使用Express.js和GraphQL构建API的步骤,包括安装依赖项,创建模型和数据,测试API。Express.js和GraphQL的结合让API的构建变得更加容易和高效。我们的示例代码可以作为在你的项目中开始使用这两个技术的有用的指南。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64fcd28695b1f8cacdca7590