Express JS中req和res对象的使用

Express JS 用于通过 Node.js 构建 RESTful API。

Express JS 中有一个“req”(请求)对象,用于表示传入的 HTTP 请求,该请求由参数、查询字符串、还有请求正文。除此之外,我们还有“res”(响应),用于将 HTTP 响应发送到客户端,允许修改标头并由以下部分组成状态代码和资源。

req 和 res 对象有什么用?
对象“req”和“res ' 负责处理 Web 应用程序中的 HTTP 请求和响应。以下是描述这些对象的好处的一些要点:
1. req(请求)对象:

  • 访问请求数据:通过使用 req 对象,我们可以访问传入 HTTP 请求的各个组件,其中包括数据、标头、参数等。
  • 中间件交互:使用 Express.js 中的 req 对象,中间件函数可以通过允许各种日志记录和身份验证任务来更改和修改请求对象。
  • 路由:通过在应用程序中实现动态路由,可以使用 req 对象,因为它捕获 URL 参数,并允许它根据客户端的输入动态响应。

2. res(响应)对象:

  • 发送响应: res 对象用于向客户端发送 HTP 响应,其中包括资源、数据、状态代码和标头。
  • 错误处理:使用 res 对象,我们可以发送错误响应,这对于处理错误并向客户端提供反馈非常重要。
  • 内容修改:我们可以设置自定义响应标头、状态代码和内容,通过这些内容我们可以管理响应控件。

在 Express 中使用 req 和 res 对象的步骤
第 1 步:在第一步中,我们将新文件夹创建为 http-objects 在 VScode 终端中使用以下命令。

mkdir http-objects
cd http-objects

步骤 2: 创建文件夹后,使用以下命令初始化 NPM。使用它将会创建 package.json 文件。

npm init -y

第 3 步:现在,我们将使用下面的命令为项目安装 express 依赖项。
npm i express

依赖:
package.json

"dependencies": {
   
"express": "^4.18.2"
}


现在为我们的项目创建包括 app.js 文件。

const express = require("express");
const app = express();
const port = 3000;
// defining a simple middleware to log requests
app.use((req, res, next) => {
    console.log(`Incoming Request: ${req.method} ${req.url}`);
    next();
// calling the next middleware or route handler
});
app.get(
"/favicon.ico", (req, res) => {
    res.status(204).end();
// No content for favicon.ico
});
// route handling using req and res objects
app.get(
"/greet/:name", (req, res) => {
    
// accessing URL parameters using req.params
    const geekName = req.params.name;
    
// sending a customized HTML response
    const htmlResponse = `
    <!DOCTYPE html>
    <html lang=
"en">
    <head>
    <meta charset=
"UTF-8">
    <meta name=
"viewport" content="width=device-width, 
        initial-scale=1.0
">
    <title>Greeting Page</title>
    </head>
    <body>
    <h1>Hello, ${geekName}!</h1>
    </body>
    </html>

运行:
node app.js