MST

星途 面试题库

面试题:Node.js构建RESTful API时如何处理不同HTTP方法

在Node.js中使用Express框架构建RESTful API,举例说明如何处理GET、POST、PUT和DELETE这几种常见的HTTP方法,并且阐述每种方法在RESTful API设计中的作用和应用场景。
19.8万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

以下是在Node.js中使用Express框架处理常见HTTP方法的示例代码及每种方法在RESTful API设计中的作用和应用场景:

1. 初始化项目

首先确保安装了Node.js,然后创建一个新目录,进入目录并执行以下命令初始化项目:

npm init -y

接着安装Express:

npm install express

2. 处理HTTP方法示例代码

创建一个 app.js 文件,内容如下:

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

// 用于解析JSON数据,这样才能在POST、PUT请求体中获取JSON格式数据
app.use(express.json());

// GET请求
app.get('/users', (req, res) => {
    // 这里模拟从数据库获取用户列表
    const users = [
        { id: 1, name: 'John' },
        { id: 2, name: 'Jane' }
    ];
    res.json(users);
});

// POST请求
app.post('/users', (req, res) => {
    // 假设req.body包含新用户的数据
    const newUser = req.body;
    // 这里可以将新用户数据保存到数据库
    res.status(201).json(newUser);
});

// PUT请求
app.put('/users/:id', (req, res) => {
    const userId = parseInt(req.params.id);
    // 假设req.body包含更新后的用户数据
    const updatedUser = req.body;
    // 这里可以根据userId在数据库中找到对应的用户并更新数据
    res.json(updatedUser);
});

// DELETE请求
app.delete('/users/:id', (req, res) => {
    const userId = parseInt(req.params.id);
    // 这里可以根据userId在数据库中找到对应的用户并删除数据
    res.sendStatus(204);
});

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

3. 每种方法在RESTful API设计中的作用和应用场景

GET

  • 作用:用于获取资源。通常用于从服务器检索数据,不应该对服务器上的数据进行修改。
  • 应用场景
    • 获取用户列表,如 GET /users
    • 获取特定用户信息,如 GET /users/1
    • 获取文章列表,如 GET /articles

POST

  • 作用:用于创建新资源。请求体中包含要创建的资源的数据。
  • 应用场景
    • 创建新用户,如 POST /users 并在请求体中包含新用户的姓名、邮箱等信息。
    • 提交新订单,如 POST /orders 并在请求体中包含订单详情。

PUT

  • 作用:用于更新资源。请求体中包含完整的更新后资源的数据,覆盖原有的数据。
  • 应用场景
    • 更新用户信息,如 PUT /users/1 并在请求体中包含更新后的用户所有信息。
    • 更新产品信息,如 PUT /products/1 并在请求体中包含产品的新名称、价格等。

DELETE

  • 作用:用于删除资源。
  • 应用场景
    • 删除用户,如 DELETE /users/1
    • 删除文章,如 DELETE /articles/1