express简单实现增删改查,并总结问题

412 阅读3分钟

安装 expressbody-parser 模块,可以通过以下命令来安装:

npm install express body-parser

然后,创建一个 app.js 文件,输入以下代码:

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

const app = express();

// 使用 body-parser 解析请求体
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// 模拟一个数据存储,用于保存任务列表
const tasks = [];

// GET 请求,获取任务列表
app.get('/tasks', (req, res) => {
  res.json(tasks);
});

// POST 请求,添加新任务
app.post('/tasks', (req, res) => {
  const { task } = req.body;
  if (!task) {
    return res.status(400).json({ error: '任务不能为空' });
  }
  tasks.push(task);
  res.json(tasks);
});

// PUT 请求,修改任务
app.put('/tasks/:id', (req, res) => {
  const { id } = req.params;
  const { task } = req.body;
  if (!task) {
    return res.status(400).json({ error: '任务不能为空' });
  }
  tasks[id] = task;
  res.json(tasks);
});

// DELETE 请求,删除任务
app.delete('/tasks/:id', (req, res) => {
  const { id } = req.params;
  tasks.splice(id, 1);
  res.json(tasks);
});

// 监听端口
app.listen(3000, () => {
  console.log('应用已启动,监听端口 3000...');
});

代码说明:

  1. 引入 expressbody-parser 模块。
  2. 创建一个 express 应用。
  3. 使用 body-parser 解析请求体。
  4. 定义一个模拟的数据存储,用于保存任务列表。
  5. 定义一个 GET 请求,用于获取任务列表。
  6. 定义一个 POST 请求,用于添加新任务。
  7. 定义一个 PUT 请求,用于修改任务。
  8. 定义一个 DELETE 请求,用于删除任务。
  9. 监听端口,启动应用。

接下来,可以使用 Postman 等工具来测试接口:

  1. 发送一个 POST 请求,添加一个新任务:

    POST http://localhost:3000/tasks
    
    {
      "task": "完成 Express 实现增删改查"
    }
    
  2. 发送一个 GET 请求,获取任务列表:

    GET http://localhost:3000/tasks
    
  3. 发送一个 PUT 请求,修改任务:

    PUT http://localhost:3000/tasks/0
    
    {
      "task": "完成 Express 实现增删改查,已修改"
    }
    
  4. 发送一个 DELETE 请求,删除任务:

    DELETE http://localhost:3000/tasks/0
    

这样就完成了使用 Express 实现简单的增删改查功能。

实现过程中会遇到那些问题

1、请求体的解析

在使用 Express 解析请求体时,需要注意请求体的类型和格式。如果请求体是 JSON 格式的,则需要使用 body-parser 中的 json() 方法进行解析;如果请求体是表单格式的,则需要使用 body-parser 中的 urlencoded() 方法进行解析。

2、路由的定义

在定义路由时,需要注意路由的顺序和参数的类型和格式。如果两个路由的路径匹配程度相似,而且参数的类型和格式也相同,那么需要注意路由的顺序,确保先匹配更具体的路由。

3、错误处理

在处理请求时,需要对可能出现的错误进行处理。例如,当请求体缺少必要的参数时,需要返回 400 错误码;当请求的资源不存在时,需要返回 404 错误码。

4、安全性

在处理请求时,需要对输入的数据进行验证和过滤,确保输入的数据是合法、安全的。例如,可以使用正则表达式对输入的数据进行验证,过滤掉一些不安全的字符,避免 SQL 注入等攻击。

5、数据存储

在实现增删改查功能时,需要考虑数据的存储方式。可以使用内存、文件或数据库等不同的方式进行存储,根据实际需求选择最合适的方式。同时,需要注意数据的一致性和安全性,避免数据被篡改或丢失。