用 Node.js 和 Express 构建一个基本的 API

在现代 web 开发中,构建 API 是一项非常关键的任务,你可以用它来实现不同的功能,例如用户信息存储,搜索数据和高级数据分析。

在本文中,我们将学习如何使用 Node.js 和 Express 框架构建一个基本的 API,该 API 可以处理 HTTP 请求,并提供一些基本的操作。

准备工作

首先,我们需要安装 Node.js,Node.js 是一个 JavaScript 运行时环境,具有非常高的性能。你可以在官方网站上下载并安装它。

安装 Node.js 之后,我们可以使用 npm(Node.js 包管理器)来安装 Express。在终端中运行以下命令:

--- ------- ------ -------

这将安装最新版本的 Express 库,并在 package.json 文件中添加一个新的依赖关系。

创建项目

我们需要创建一个新的项目目录,比如说 api,并在其中创建一个 JavaScript 文件 index.js,该文件将承载我们的代码。

----- ---
-- ---
----- --------

导入 Express 库

打开 index.js 文件并导入 Express 库。我们将来自 express 变量中的函数和属性用于创建和启动我们的 API。

----- ------- - -------------------
----- --- - ----------

请注意,我们将 Express 初始化到名为 app 的变量中,这将是我们后续代码中使用的对象。

创建路由

我们需要在我们的 API 中创建两个路由:

  • / - 该路由将返回简单的欢迎消息。
  • /api/v1/users - 该路由将返回用户列表。

以下是如何创建这些路由:

------------ ----- ---- -- -
  -------------- -------
---

------------------------ ----- ---- -- -
  ----- ----- - -
    - --- -- ----- ---- --
    - --- -- ----- ---- --
    - --- -- ----- ---- -
  --

  ----------------
---

这里,我们使用了 app.get 方法来定义每个路由,并提供一个回调函数,该函数将在每个路由和 HTTP 请求之间进行桥接。

当我们通过浏览器或任何其他 HTTP 客户端向 / 发出 GET 请求时,我们会接收到 欢迎来到API! 消息。当我们向 /api/v1/users 发送 GET 请求时,我们会得到一个 JSON 格式的用户数组作为响应。

启动服务器

最后,我们需要在服务器上启动我们的 API。我们可以使用 app.listen 方法来做到这一点。

---------------- -- -- -
  ---------------- ---------------------------------
---

这里,我们告诉 Express 在我们本地主机的 3000 端口上监听任何连接,并在服务器启动时打印一条消息。

运行代码

现在我们已经全部准备好了!使用以下命令启动服务器:

---- --------

你应该会在终端上看到 API 已启动的消息。

访问 http://localhost:3000 以查看欢迎消息,或访问 http://localhost:3000/api/v1/users 以查看用户列表。

结论

在本文中,我们了解了如何使用 Node.js 和 Express 框架构建一个基本的 API。我们创建了两个路由,可以用来服务 HTTP GET 请求。虽然这个 API 很简单,但是你可以使用它作为入门,学习构建更高级和更复杂的 API。

示例代码:

----- ------- - -------------------
----- --- - ----------

------------ ----- ---- -- -
  -------------- -------
---

------------------------ ----- ---- -- -
  ----- ----- - -
    - --- -- ----- ---- --
    - --- -- ----- ---- --
    - --- -- ----- ---- -
  --

  ----------------
---

---------------- -- -- -
  ---------------- ---------------------------------
---

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673835e5317fbffedf0ee3e8