📜  Node.js 在 express 中构建简单的 REST API(1)

📅  最后修改于: 2023-12-03 15:17:57.006000             🧑  作者: Mango

使用 Node.js 在 express 中构建简单的 REST API

介绍

本文将介绍如何使用 Node.js 和 express 框架来构建一个简单的 REST API。我们将学习如何设置路由、处理请求和返回数据,以及如何使用 express 中间件来增加功能。

准备工作

在开始之前,请确保已经安装了 Node.js 和 npm(npm 是 Node.js 的包管理器)。您可以从官方网站下载并安装它们。

创建项目

首先,打开命令行工具,并创建一个新的项目目录。

mkdir rest-api
cd rest-api

接下来,初始化一个新的 npm 项目。

npm init -y

这将创建一个默认的 package.json 文件,其中包含了项目的配置信息。

安装依赖

我们需要安装 express 及其他一些依赖,以开始构建我们的 REST API。

npm install express body-parser --save
  • express 是一个流行的 Node.js web 框架,使用它可以方便地创建 API。
  • body-parser 是一个 express 中间件,用于处理请求体中的数据。
创建基本的服务

首先,我们将创建一个基本的 express 服务,以便启动我们的 REST API。

在项目根目录下创建一个新文件 app.js,并添加以下代码:

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
const port = 3000;

app.use(bodyParser.json());

app.listen(port, () => {
  console.log(`Server is listening on port ${port}`);
});

上述代码中,我们导入了 express 和 body-parser 模块,并创建了一个 express 应用实例。我们还将请求体解析为 JSON 格式的数据,并设置应用监听的端口。

现在,我们可以启动服务了。

node app.js

如果一切顺利,您应该在命令行中看到 Server is listening on port 3000 的输出。

添加路由

下一步,我们将为我们的 REST API 添加一些路由。

app.js 文件中添加以下代码,以创建一个简单的路由:

app.get('/', (req, res) => {
  res.send('Hello, World!');
});

这将创建一个基本的 GET 路由,当我们访问根路径时,会返回一个简单的 'Hello, World!' 消息。

我们还可以创建其他类型的路由,比如 POST、PUT、DELETE 等,以实现更多功能,例如创建、更新和删除资源。

app.post('/users', (req, res) => {
  // 处理创建用户的逻辑
});

app.put('/users/:id', (req, res) => {
  // 处理更新用户的逻辑
});

app.delete('/users/:id', (req, res) => {
  // 处理删除用户的逻辑
});
处理请求和返回数据

接下来,我们将实现路由中的逻辑,处理请求并返回相应的数据。

let users = [];

app.post('/users', (req, res) => {
  const user = req.body;
  users.push(user);
  res.json(user);
});

app.get('/users', (req, res) => {
  res.json(users);
});

在上述代码中,我们使用了一个简单的数组来存储用户数据。当收到 POST 请求时,我们将请求体中的用户信息添加到数组中,并返回添加的用户数据。当收到 GET 请求时,我们返回所有用户的数据。

您可以根据自己的需求修改数据存储方式和处理逻辑。

使用中间件增加功能

最后,我们将介绍如何使用 express 中间件来增加功能,例如日志记录、身份验证等。

app.js 文件中添加以下代码,以添加一个简单的日志中间件:

app.use((req, res, next) => {
  console.log(`${new Date().toISOString()} - ${req.method} ${req.url}`);
  next();
});

上述代码中,我们定义了一个中间件函数,在每次请求到达时打印请求的时间、方法和路径。next() 函数用于将请求传递给下一个中间件或路由处理函数。

您可以根据需要添加其他中间件,以增加各种功能,比如身份验证、错误处理等。

总结

恭喜您!您已经学习了如何使用 Node.js 和 express 框架构建一个简单的 REST API。我们介绍了创建项目、安装依赖、设置基本服务、添加路由、处理请求和返回数据,以及使用中间件增加功能。希望这篇文章对您在构建 REST API 方面有所帮助。

请随时参考 express 和 body-parser 的官方文档,以获取更多详细信息和进一步扩展您的 REST API 的功能。

Happy coding!