您现在的位置是:首页 > 编程 > 

关于Express的一些路由与响应方法

2025-07-23 22:09:04
关于Express的一些路由与响应方法 前言Express.js 是一个流行的 ode.js Web 应用框架,提供了丰富的路由和响应方法,使得构建 Web 应用程序变得简单高效。本篇主要讲解是一些常用的路由和响应方法一、定义路由的方法app.get():定义一个处理 HTTP GET 请求的路由app.post:定义一个处理 HTTP POST 请求的路由app.all():处理所有 HTTP

关于Express的一些路由与响应方法

前言

Express.js 是一个流行的 ode.js Web 应用框架,提供了丰富的路由和响应方法,使得构建 Web 应用程序变得简单高效。本篇主要讲解是一些常用的路由和响应方法

一、定义路由的方法
  1. app.get():定义一个处理 HTTP GET 请求的路由
  2. app.post:定义一个处理 HTTP POST 请求的路由
  3. app.all():处理所有 HTTP 请求方法(如 GET、POST、PUT 等)的路由
  • app.js
代码语言:js复制
ct express = require("express");
ct app = express();
app.all('/test', (req, res) => {
  res.send('all in')
})

ct PORT = PORT || 000;
app.listen(PORT, () => {
  cole.log(`Server is running at http://localhost:${PORT}`);
});
  • 运行项目
代码语言:bash复制
npm run dev
image.png
  • 打开客户端Postman,发送任意GET、POST、PUT的请求
image.png
二、?, *, +路由路径中的特殊字符

1、?(可选字符)

表示前面的一个字符或路径段是可选的。

  • app.jsct express = require("express"); ct app = express(); // `?`(可选字符) app.get('/users/:id?', (req, res) => { ct userId = req.params.id; if (userId) { res.send(`userid: ${userId}`); } else { res.send('未提供用户ID'); } }); ct PORT = PORT || 000; app.listen(PORT, () => { cole.log(`Server is running at http://localhost:${PORT}`); });
  • 运行项目npm run dev

/users//users/12 都会匹配该路由。如果提供了 id,则返回用户 ID;如果没有提供 id,则返回提示信息。

  • 打开客户端,发送请求http://127.0.0.1:000/users
image.png
  • 打开客户端,发送请求http://127.0.0.1:000/users/12
image.png

2、*(任意字符)

表示匹配任意数量的任意字符

  • app.js
代码语言:js复制
ct express = require("express");
ct app = express();

// `*` 匹配任意数量的任意字符。
app.get('/files/*', (req, res) => {
  res.send('File path: ' + req.path);
});

ct PORT = PORT || 000;
app.listen(PORT, () => {
  cole.log(`Server is running at http://localhost:${PORT}`);
});
  • 运行项目
代码语言:bash复制
npm run dev
  • 打开客户端匹配/files/abc, /files/12/456, /files/等路由
image.png
image.png
image.png

所以* 匹配了路径中的任意部分。

、+(一个或多个字符)

表示前面的字符或路径段必须出现一次或多次。

  • app.js
代码语言:js复制
ct express = require("express");
ct app = express();

// `+`(一个或多个字符)
app.get('/users/+:id', (req, res) => {
  res.send(`User ID: ${req.params.id}`);
});

ct PORT = PORT || 000;
app.listen(PORT, () => {
  cole.log(`Server is running at http://localhost:${PORT}`);
});
  • 运行项目
代码语言:bash复制
npm run dev
  • 打开客户端匹配/users/12, /users/,/users///12等路由
image.png
image.png
image.png

在这个示例中,/users/12 会匹配该路由,但 /users/ 不会匹配,因为 + 要求 id 至少出现一次。

三、Express路由响应方法

1、req.params获取路由参数

2、req.url获取请求的 URL 路径部分,不包括查询字符串

如果请求的 URL 是 /users/12?name=John,那么 req.url 的值将是 '/users/12',不包括查询字符串部分 ?name=John.

是一个属性,用于获取当前请求的 HTTP 方法,常见的方法包括GET、POST、PUT、DELETE

常见 HTTP 方法:

  • GET:用于请求资源,通常用于获取数据
  • POST:用于提交数据,通常用于创建新资源
  • PUT:用于更新资源,通常用于替换资源的全部内容
  • DELETE:用于删除资源
  • PATCH:用于更新资源的部分内容
  • app.js

demo

代码语言:js复制
ct express = require("express");
ct app = express();

app.get('/users/:id', (req, res) => {
  cole.log(req.params);
  res.send(`User ID: ${req.params.id}`);
});

ct PORT = PORT || 000;
app.listen(PORT, () => {
  cole.log(`Server is running at http://localhost:${PORT}`);
});
  • 运行项目
代码语言:bash复制
npm run dev
  • 打开客户端,发送http://127.0.0.1:000/users/12
image.png
  • 查看打印结果
image.png

5、res.send()通用方法,可以发送多种类型的数据.

代码语言:js复制
res.send('Hello, world!'); // 发送字符串
res.send({ name: 'John', age: 0 }); // 发送对象
res.send([1, 2, ]); // 发送数组

6、res.download()用于发送文件作为下载响应,专门用于文件下载

代码语言:js复制
res.download('/path/to/file.zip'); // 使用文件的原始名称
res.download('/path/to/file.zip', 'downloaded-file.zip'); // 使用自定义文件名

7、()用于结束响应过程,不发送任何内容

代码语言:js复制
(); // 结束响应,不发送内容
('Hello'); // 结束响应并发送字符串

8、res.json()用于发送 JSO 格式的响应,专门用于发送 JSO 格式的响应,自动设置 Content-Type.

代码语言:js复制
res.json({ name: 'John', age: 0 }); // 发送 JSO 对象
res.json([1, 2, ]); // 发送 JSO 数组

9、res.redirect()用于将客户端重定向到另一个 URL

代码语言:js复制
res.redirect('/home'); // 临时重定向到 /home  默认为 02(临时重定向)
res.redirect(01, '/new-url'); // 永久重定向到 /new-url

10、res.render()用于渲染视图模板,并将渲染后的 HTML 发送给客户端

代码语言:js复制
// 假设有一个名为 'profile' 的视图文件
res.render('profile', { name: 'John', age: 0 });

11、res.sendStatus()用于发送一个 HTTP 状态码作为响应.

代码语言:js复制
res.sendStatus(200); // 发送 200 OK
res.sendStatus(404); // 发送 404 ot Found

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1191878.html

相关标签:无
上传时间: 2025-07-22 23:36:58
留言与评论(共有 15 条评论)
本站网友 第三产业比重
2分钟前 发表
${PORT}`); });运行项目代码语言:bash复制npm run dev打开客户端匹配/files/abc
本站网友 绵阳房产信息网
12分钟前 发表
使得构建 Web 应用程序变得简单高效
本站网友 问道首页
9分钟前 发表
age
本站网友 登封租房信息
7分钟前 发表
/files/12/456
本站网友 婴儿肉松
27分钟前 发表
'John'
本站网友 牛皮藓偏方
19分钟前 发表
${req.params.id}`); }); ct PORT = PORT || 000; app.listen(PORT
本站网友 官能白纸
30分钟前 发表
不包括查询字符串如果请求的 URL 是 /users/12?name=John
本站网友 销量最好的车
4分钟前 发表
//localhost
本站网友 电子温度计
8分钟前 发表
发送http
本站网友 84消毒液配比浓度表
0秒前 发表
发送http
本站网友 扶沟二手房
10分钟前 发表
0 }); // 发送对象 res.send([1
本站网友 保险业的发展
23分钟前 发表
res) => { cole.log(req.params); res.send(`User ID
本站网友 巴比伦纪元
23分钟前 发表
提供了丰富的路由和响应方法
本站网友 鲲鹏展翅九万里
17分钟前 发表
POST