首页 > 其他分享 >第3章 Express 的请求与响应(一)

第3章 Express 的请求与响应(一)

时间:2024-07-14 19:01:23浏览次数:13  
标签:express 请求 res app req 响应 json Express

在本章中,我们将详细探讨如何在 Express 中处理 HTTP 请求与响应。这包括解析请求数据、设置响应数据、处理表单数据、使用查询参数等。理解这些内容是开发高效和功能丰富的 Web 应用程序的基础。

1 解析请求数据

在 Express 中,可以通过 req 对象访问 HTTP 请求的各个部分。常见的请求数据包括请求头、查询参数、请求体等。

1.1 请求头

请求头包含关于请求的信息,例如客户端的信息、请求的类型等。可以通过 req.headersreq.get 方法访问请求头。

示例:

app.get('/headers', (req, res) => {
    // 获取所有请求头
    const headers = req.headers;
    res.json(headers);
});

app.get('/user-agent', (req, res) => {
    // 获取特定的请求头
    const userAgent = req.get('User-Agent');
    res.send(`User-Agent: ${userAgent}`);
});

在这里插入图片描述
在这里插入图片描述

代码详解:

  • req.headers:获取所有请求头,返回一个对象。
  • req.get('Header-Name'):获取特定的请求头。
1.2 查询参数

查询参数是 URL 中的键值对,可以通过 req.query 访问。

示例:

app.get('/search', (req, res) => {
    // 获取查询参数
    const query = req.query;
    res.json(query);
});

当用户访问 /search?term=express&sort=desc 时,响应内容将为 {"term":"express","sort":"desc"}
在这里插入图片描述

代码详解:

  • req.query:获取查询参数,返回一个对象。
1.3 路由参数

在路由路径中定义的参数可以通过 req.params 访问。

示例:

app.get('/users/:id', (req, res) => {
    // 获取路由参数
    const userId = req.params.id;
    res.send(`User ID: ${userId}`);
});

当用户访问 /users/123 时,响应内容将为 “User ID: 123”。

代码详解:

  • req.params:获取路由参数,返回一个对象。
1.4 请求体

请求体包含客户端发送的内容,通常用于 POST、PUT 等请求方法。在 Express 中,可以使用中间件解析请求体,如 express.json()express.urlencoded()

解析 JSON 请求体:

app.use(express.json());

app.post('/json', (req, res) => {
    // 获取 JSON 请求体
    const data = req.body;
    res.json(data);
});

解析 URL 编码的请求体:

app.use(express.urlencoded({ extended: true }));

app.post('/form', (req, res) => {
    // 获取表单请求体
    const data = req.body;
    res.json(data);
});

代码详解:

  • express.json():解析 JSON 请求体,将结果存储在 req.body
  • express.urlencoded({ extended: true }):解析 URL 编码的请求体,将结果存储在 req.body

标签:express,请求,res,app,req,响应,json,Express
From: https://blog.csdn.net/imdeity/article/details/140273716

相关文章