RESTful API(Representational State Transferful Application Programming Interface)是一种设计风格,用于构建可伸缩的网络服务。在 Node.js 中,你可以使用 Express 框架轻松构建 RESTful API。以下是一个简单的示例,演示如何使用 Express 创建基本的 RESTful API:

1. 安装 Express:

   在项目目录下执行以下命令安装 Express:
   npm install express

2. 创建 Express 应用:

   创建一个 Express 应用,定义一些基本的路由。
   const express = require('express');
   const app = express();
   const PORT = 3000;

   // 中间件,用于解析请求体中的 JSON 数据
   app.use(express.json());

   // 示例数据
   const users = [
     { id: 1, name: 'John' },
     { id: 2, name: 'Alice' },
     { id: 3, name: 'Bob' },
   ];

   // 获取所有用户
   app.get('/api/users', (req, res) => {
     res.json(users);
   });

   // 获取特定用户
   app.get('/api/users/:id', (req, res) => {
     const userId = parseInt(req.params.id);
     const user = users.find(u => u.id === userId);

     if (!user) {
       res.status(404).json({ error: 'User not found' });
       return;
     }

     res.json(user);
   });

   // 创建新用户
   app.post('/api/users', (req, res) => {
     const newUser = req.body;
     newUser.id = users.length + 1;
     users.push(newUser);
     res.status(201).json(newUser);
   });

   // 更新用户信息
   app.put('/api/users/:id', (req, res) => {
     const userId = parseInt(req.params.id);
     const user = users.find(u => u.id === userId);

     if (!user) {
       res.status(404).json({ error: 'User not found' });
       return;
     }

     // 更新用户信息
     user.name = req.body.name;

     res.json(user);
   });

   // 删除用户
   app.delete('/api/users/:id', (req, res) => {
     const userId = parseInt(req.params.id);
     const userIndex = users.findIndex(u => u.id === userId);

     if (userIndex === -1) {
       res.status(404).json({ error: 'User not found' });
       return;
     }

     // 删除用户
     const deletedUser = users.splice(userIndex, 1)[0];
     res.json(deletedUser);
   });

   // 启动服务器
   app.listen(PORT, () => {
     console.log(`Server is listening on port ${PORT}`);
   });

3. 测试 RESTful API:

   使用工具如 cURL、Postman 或浏览器插件,对刚刚创建的 RESTful API 进行测试。

   - 获取所有用户:GET http://localhost:3000/api/users
   - 获取特定用户:GET http://localhost:3000/api/users/1
   - 创建新用户:POST http://localhost:3000/api/users,请求体中包含 JSON 数据
   - 更新用户信息:PUT http://localhost:3000/api/users/1,请求体中包含 JSON 数据
   - 删除用户:DELETE http://localhost:3000/api/users/1

这只是一个简单的示例,实际中你可能会在 API 中加入身份验证、数据库交互等更复杂的功能。Express 提供了丰富的功能和中间件,使得构建 RESTful API 变得更加简单和灵活。


转载请注明出处:http://www.zyzy.cn/article/detail/4749/Node.js