前言
在现代 Web 开发中,API 是一个非常重要的组成部分。API 可以将前端与后端分离,并提供更好的可维护性和可扩展性。Express.js 是一个流行的 Web 框架,而 GraphQL 是一种用于构建 API 的查询语言。在本教程中,我们将使用 Express.js 和 GraphQL 创建一个完整的 API。
步骤
步骤 1:创建项目
首先,我们需要创建一个新的项目。在命令行中输入以下命令:
mkdir my-api cd my-api npm init
然后,我们需要安装必要的依赖项。在命令行中输入以下命令:
npm install express graphql express-graphql
步骤 2:创建服务器
接下来,我们需要创建一个服务器。在 index.js
文件中输入以下内容:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- - ----------- - - --------------------------- ----- - ----------- - - ------------------- ----- ------ - ------------- ---- ----- - ------ ------ - --- ----- ---- - - ------ -- -- ------ -------- -- ----- --- - ---------- ------------------- ------------- ------- ------- ---------- ----- --------- ----- ---- ---------------- -- -- - -------------------- - ------- --- ------ -- -------------------------------- ---
此代码将创建一个简单的 GraphQL API,它只有一个查询 hello
,返回字符串 "Hello world!"
。
步骤 3:运行服务器
现在,我们可以运行服务器。在命令行中输入以下命令:
node index.js
然后,访问 http://localhost:4000/graphql
,我们应该可以看到一个交互式的 GraphQL IDE。
步骤 4:添加更多查询
接下来,我们将添加更多的查询。在 index.js
文件中添加以下代码:
-- -------------------- ---- ------- ----- ------ - ------------- ---- ----- - ------ ------ -------- ------ ---------- ------ ------ - ---- ------ - --- --- ----- ------ ---- --- - --- ----- ---- - - ------ -- -- ------ -------- -------- -- -- -------- -------- ------- -- -- -- -- -- --- --- ----- ----- ----- ---- --- --- --
此代码将添加两个新的查询 goodbye
和 person
。person
查询需要一个 id
参数,并返回一个 Person
对象。
步骤 5:使用数据源
现在,我们将使用数据源来获取 Person
对象。在 index.js
文件中添加以下代码:
-- -------------------- ---- ------- ----- ---- - - - --- -- ----- ----- ----- ---- -- -- - --- -- ----- ----- ----- ---- -- -- - --- -- ----- ---- ------- ---- -- -- -- ----- ------ - ------------- ---- ----- - ------ ------ -------- ------ ---------- ------ ------ - ---- ------ - --- --- ----- ------ ---- --- - --- ----- ---- - - ------ -- -- ------ -------- -------- -- -- -------- -------- ------- -- -- -- -- ---------------- -- --------- --- ---- --
此代码将使用一个数组 data
作为数据源,并更新 person
查询以从数据源中获取 Person
对象。
步骤 6:添加变更
最后,我们将添加变更。在 index.js
文件中添加以下代码:
-- -------------------- ---- ------- ----- ------ - ------------- ---- ----- - ------ ------ -------- ------ ---------- ------ ------ - ---- -------- - --------------- -------- ---- ------ ------ - ---- ------ - --- --- ----- ------ ---- --- - --- ----- ---- - - ------ -- -- ------ -------- -------- -- -- -------- -------- ------- -- -- -- -- ---------------- -- --------- --- ---- ---------- -- ----- --- -- -- - ----- ------ - - --- ----------- - -- ----- ----- ---- --- -- ------------------ ------ ------- -- --
此代码将添加一个变更 addPerson
,它需要 name
和 age
参数,并将添加一个新的 Person
对象到数据源中。
步骤 7:测试 API
现在,我们可以测试我们的 API。在 GraphQL IDE 中输入以下查询:
query { hello goodbye person(id: 1) { name age } }
然后,输入以下变更:
mutation { addPerson(name: "Alice", age: 20) { id name age } }
我们应该能够看到查询和变更的结果。
结论
在本教程中,我们使用 Express.js 和 GraphQL 创建了一个完整的 API。我们学习了如何创建服务器、添加查询和变更,并使用数据源来获取数据。这个教程应该能够帮助你开始构建自己的 API,并提供更好的可维护性和可扩展性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/675d54a7e1dcc5c0fa3b5906